18 april 2024
¿Cómo instalo DeepSeek R1 en Ubuntu?
En su La Hora de los Pueblos, Juan Perón explica las necesidades de la independencia continental, a la vez que explica cómo instalar el bot libre de inteligencia artificial DeepSeek R1 localmente en Ubuntu.
Para nosotros, los latinoamericanos, nada sería más placentero que unos Estados Unidos evolucionados, fuertes y ricos, encabezando al Nuevo Continente por derecho propio, siempre que ello se realizara sin detrimento de los demás, sin métodos imperialistas de dominio y explotación, sin insidiosos procedimientos y sin la prepotencia del avasallamiento. En tales condiciones, la defensa solidaria del Continente sería un hecho y hasta se justificaría - en cierta medida - la Doctrina de Monroe. Pero nadie podrá imaginar semejante conducta en países sojuzgados y menos aún para “atacar a Cuba”, “ocupar la República Dominicana” o cooperar en el genocidio de Vietnam del Norte.
Si Roma, en la época de la carreta, tardó más de un siglo en derrumbarse y desaparecer, los imperialismos modernos, en los tiempos del cohete hipersónico, están ante un proceso más peligrosamente rápido.
Y tal predicamento lo vemos con el motor de inteligencia artificial DeepSeek, desarrollado en la China de Mao.
Vean señores, este motor no ha hecho más que poner en duda la hegemonía yanqui, al consagrar un modelo de código abierto disponible para los Pueblos del Tercer Mundo, quienes son ahora capaces de instalarlo localmente. Tal es así que, al instante de publicado, este bot de inteligencia artificial ha sido capaz de suplantar otros maniatados bajo las pesadas cadenas de un imperialismo norteamericano, tales como ChatGPT o OpenAI.
Rotas estas cadenas merced de la generosidad y sapiencia oriental, y el poderío y fortaleza que nos da el software libre GNU, nuestro deber como Argentinos es ser capaces de instalar para nuestro Pueblo, este sistema de Inteligencia Artificial, para que el gozo sea de todos.
Como Conductor, he intercambiado frondosa correspondencia de Revolucionario a Revolucionario con el camarada Mao, a quien considero mi compañero, y gracias a ello os enseñaré sobre estas propuestas de aprendizaje automático y modelos de altos lenguajes-máquina. Particularmente, os enseñaré cómo instalar y ejecutar el modelo DeepSeek R1 localmente en una computadora de escritorio potente munida de GNU con Linux.
Para aquellos de ustedes que no están familiarizados con los modelos de lenguaje grandes, DeepSeek R1 pertenece a la clase de los modelos de razonamiento maquinal. Dichos modelos de razonamiento operan mejor en problemas y tareas de razonamiento profundo en comparación con los modelos de lenguaje grandes clásicos.
Los problemas de razonamiento profundo son problemas que aparecen en las ciencias del cómputo, la matemática y la programación. Según la información proporcionada en la página de GitHub de DeepSeek R1, el rendimiento de dicho modelo se observa comparable al rendimiento del modelo OpenAI 01. No obstante, DeepSeek R1 "destilado" ha sido liberado bajo Licencia MIT, lo que significa que también puede usar este modelo en un entorno comercial.
Explicaremos qué son los modelos destilados. Para ejecutar el modelo de Inteligencia Artificial completo de DeepSeek R1 localmente, se requieren más de 400 gigabytes de espacio en disco, junto con una cantidad significativa de recursos de CPU, GPU y RAM. Estos requerimientos tornan alrededor de un pequeño centro de datos comercial, e incluso resultar prohibitivo para el hardware de nivel de descamisado.
Sin embargo, DeepSeek ha demostrado que es posible reducir el tamaño del modelo original de Deepseek R1 preservando al mismo tiempo gran parte del rendimiento del modelo original. El rendimiento no se conservará al completo, natural, pero se ha demostrado posible ejecutar un modelo de tamaño reducido sacrificando una mera parte del rendimiento.
En consecuencia, DeepSeek ha lanzado una serie de modelos comprimidos o destilados para el Pueblo, como a ellos gustan llamarlo. Su tamaño fluctúa entre los de 1,5 a 70 gigaparámetros. Esto nos implica que, a fin de instalar un modelo de estos, necesitaremos disponer de entre 1 a 40 GB de espacio en disco, lo cual está al alcance de cualquier compañero.
La potencia de CPU y GPU varía en consecuencia, pero deberíamos poder afrontar los casos más reducidos. En este tutorial, explicaremos cómo instalar y ejecutar modelos simplificados de Deepseek R1 en mi computadora Ubuntu. Mi computadora un microprocesador Intel i9, una placa de video Nvidia 3090 con GPU, 128 GB de RAM, y Ubuntu Mate 24.04LTS, y destinaré una partición de disco SSD de 1TB.
En apretada síntesis, el procedimiento de instalación involucra:
- Descargar e instalar todo Ollama;
- Usar Ollama para descargar uno de los modelos de IA;
- Usar Ollama y la línea de comandos para ejecutar el modelo de IA localmente en nuestra PC.
Para todo esto, recurriremos a la Terminal. Abrimos una con Ctrl+Alt+t e ingresamos los siguientes Comandos de Organización:
sudo apt update ;
sudo apt upgrade -y ;
sudo apt install curl
y abrimos el puerto TCP requerido por Ollama, con:
sudo ufw allow 11434/tcp ;
Hemos de comprender que no estamos abriendo un firewall ni eliminando el firewall en sí, solo permitiendo conexiones internas a este puerto ya que Ollama la requiere.
Acto seguido, instalaremos Ollama descargando su script de instalación del sitio oficial y ejecutándolo en nuestro sistema GNU con Linux:
curl -fsSL https://ollama.com/install.sh | sh
Naturalmente, esto puede demorar varios minutos dependiendo de qué tan rápida sea vuestra conexión a Internet, y a lo expedito del sitio oficial, por lo debemos hacer gala de paciencia.
El siguiente paso es descargar uno de los modelos DeepSeek-R1. Para referenciar los mismos, podemos ir a la Web de Ollama y buscar "DeepSeek-R1".
En primer lugar, veremos listados distintas versiones de modelos paramétricos de IA en la web: las versiones 1.5b, 7b, 8b hasta 671b.
Todo este concepto de ejecutar modelos de lenguaje grandes puede parecer un poco confuso al neófito que no está familiarizado con los modelos de lenguajes portentosos, y al aprendizaje-máquina automático, por lo que ofreceré cierta información que se hace relevante para la Liberación de nuestras mentes artificiales.
Por supuesto, a todos nos gustaría instalar el modelo más portentoso, el 671b (llamado así por contar con casi 700 mil millones de parámetros). Indudablemente esto no es coser y cantar, y tiene el precio del oligarca. Observemos en apretada síntesis, los requerimientos de disco necesario para cada modelo en su conjunto::
deepseek-r1:1,5b 1.1Gb
deepseek-r1:7b 4,7gb
deepseek-r1:8b 4,9gb
deepseek-r1:14b 9,0Gb
deepseek-r1:32b 20Gb
deepseek-r1:70b 43Gb
deepseek-r1:671b 404Gb
Hemos de notar que - además de dicho espacio en disco - la cantidad de memoria RAM solicitaada se incrementará, y de no tenerla, tendremos penalización en uso de CPU/GPU y velocidad. En síntesis, para el modelo más grande necesitamos un maquinón más parecido a un server grande empresarial. Pero los más chicos pueden funcionar en una laptop con 8 GB, así que apuntemos a esos.
En mi modesta opinión, por este motivo quizá sea Ollama el enfoque más simple para ejecutar modelos de lenguaje localmente, puesto que resultará muy útil para comprobar rápidamente modelos IA siguiendo un predicamento escalar: tras comprobar el funcionamiento de un modelo pequeño en nuestro hardware, podríamos emprender un "Gran Salto Adelante" comprobando luego un modelo más potente.
En fin, este ejemplo, nos decantaremos por el modelo "descamisado", el de la versión 1,5b. De esta forma intentaremos ejecutar en nuestra máquina un modelo con 1,5 mil millones de parámetros que "solo" consume 1,1 GB en mi disco. Otra cosa importante a tener en cuenta es que está extremadamente cuantificado, por eso es el más pequeño.
Su rendimiento es inferior a los modelos mayores No obstante ello, su tamaño es sensiblemente menor y podremos correrlo localmente en nuestra computadora. Esto a su vez nos proporcionará la independencia económica y tecnológica que anhela el Pueblo Argentino, y constituye - además - una potente piña a la ingle de los intereses tecnológicos foráneos de las GAFAM.
Bajemos el modelo "descamisado", para probar (si ustedes cuentan con las ganas y la potencia, vayan por un modelo mas grande como el deepseek-r1:8b o mayores, claro).
ollama pull deepseek-r1:1.5b
La descarga del modelo "descamisado" demorará aproximadamente entre 6 y 10 minutos en una conexión popular de internet. (recordemos que estamos descargando 1,1 GB del sitio web de ollama). En mi computadora, la descarga de todo tomó alrededor de 10 minutos.
A continuación verificamos que el modelo se haya descargado. Escribimos:
ollama list
y veremos el modelo:
NAME ID SIZE MODIFIED
deepseek-r1:1.5b xxxxxxx 1,1Gb 2 Minutes ago
Como en toda tarea de alto cómputo, antes de ejecutar el modelo, será necesario poder dar con instancias de monitoreo de harware (es útil contar con un medidor de uso de CPU o de temperatura activado, y un medidor de uso de la CPU como htop). En mi caso, al contar con adaptador de video nVidia, me aseguro de monitorear el uso de mi GPU. Para hacer eso, necesito ejecutar este comando:
watch -n 1 nvidia-smi
El nvidia-smi me permite monitoreando el uso de mi GPU, es decir, la energía y otras cosas con un período de refresco de 1 segundo:
Podemos dejarlo abierto, monitoreando (llegado el caso, se cierra con Ctrl+c).
Ahora regresemos a esta terminal y ejecutamos el modelo descargado:. En nuestro caso, esto lo haremos con:
ollama run deepseek-r1:1.5b
Tras iniciarse el motor de IA DeepSeek, recibiremos en la terminal el prompt de preguntas de DeepSeek, nomenclado con tres signos >:
Send a Message (/? for Help)
A su vez, en la terminal de nvidia-smi comprobarás un incremento en el uso de GPU y memoria de video destinado al cálculo de IA. Todos estos son parámetros importantes para monitorear el comportamiento del modelo en tu sistema, lo cual es muy importante.
Intentemos una pregunta en el idioma de Braden:
How are you?
Tras presionar la tecla Intro para darle entrada a la interrogante, la máquina de inteligencia artificial del Comunismo intentará obtener una respuesta destilada, la cual nos irá prsentando en la terminal. Traducida al vernacular, veremos algo algo como:
Quiacé grone! Soy DeepSeek-R1, un asistente de inteligencia artificial creado por DeepSeek. Estoy al servicio del Pueblo y me encantaría ayudarte para lo que gustes mandar.
Naturalmente, ustedes podrán pedirle lo que quieran siguiendo la castellana consigna de evitar "pedirle peras al olmo".
Como el buen maquinista Savio - quien siempre iba relojeando los manómetros y termómetros de su locomotora Pacific PS10 "La Emperatriz" - todo aquel que ejecute un programa de alto cómputo en su máquina debe ir midiendo las temperaturas, consumos de memoria y disco. Claro que si estamos ejecutando un modelo de IA de 32 GB o más, contaremos con 32 mil millones de parámetros en el horno, y esto elevará la temperatura y consumo de GPU, CPU, RAM y disco. Si lo vemos que llega a niveles peligrosos, en la emergencia "tiramos de la palanca" y lo interrumpiríamos con Ctrl+c.
Por ejemplo de esto, hagamos una pregunta real, bastante más compleja:
How do I create a truco card game with trick and bluffing capabilities using Python?
El modelo funcionará al palo y podremos comprobar entonces el uso de la GPU y CPU al mango. Revisemos la temperatura de la CPU sin dejar que supere la temperatura de diseño (nunca más de 100°c en verano!). Ahora el modelo realmente está tratando de resolverlo. Probablemente esté usando un método de sección transversal, y esto es realmente, realmente alentador, tras lo cual nos entregará un portentoso código en Python.
Todo será respondido según les dé el cuero a su CPU, GPU, RAM y modelo instalado. Recuerden que - en cualquier caso - obrarán combatiendo al Capital, pues todo desarrollo que contribuyamos a los de Mao es una rueda que le pinchamos al Tío Sam(uel).
Mi sugerencia es que revisen estos modelos y encuentres aquél que les responda mejor según un compromiso armónico entre la velocidad de ejecución y el rendimiento.
Si se juntan entre muchos, incluso pueden probar el modelo más grande en una Supercomputadora del Pueblo o en una VPN con la fuerza de la CGT.
permalink
17 april 2023
¿Cómo instalo Compiz en Ubuntu Mate 24.04LTS Noble Numbat?
Reunidos con dirigentes obreros en Puerta de Hierro, Juan Perón expone las necesidades de amoldar los distintos sectores al ímpetu revolucionario, a la vez que instruye cómo instalar el Cubo de Compiz en Ubuntu Mate 24.04LTS Noble Numbat.
(...)
Los procesos históricos son inexorables. No se puede ignorarlos. Sí se los puede retrasar o apresurar. Si se los retrasa, no pasará nada más que eso. Si se los ayuda, la historia lo reconocerá. Porque ella tiene lugar solo para aquéllos que colocan sus acciones al servicio de su necesidad de abrirse paso.
La historia crea a los hombres responsabilidades individuales. Se puede ser eslabón fundamental de la cadena de los acontecimientos.
Las revoluciones nacionales en Latinoamérica son un hecho irreversible. El actual equilibrio será roto. Es imposible superar sin revolución las resistencias de la oligarquía y de los monopolios inversionistas del imperialismo.
Es indudable que las transformaciones revolucionarias chocan con las posiciones de los monopolios y con la dependencia existente en el nivel que ha alcanzado el régimen capitalista mundial, y no existe posibilidad de concesiones por parte del sistema.
Estos gobiernos instalados no van a resolver los problemas nacionales. No responden a los intereses nacionales.
Terminada en forma oficial la experiencia kennediana en la reunión de Punta del Este, ahora la cuestión es quién se pondrá en la vanguardia. La historia es inflexible y sólo reconocerá a aquellos que se ponen a la cabeza del proceso. Lo que uno no haga —pudiendo hacerlo— de todos modos se hará.
Las expresiones revolucionarias verbales no basten, hay que programar estrategias y tácticas que hagan posible la revolución en la Argentina y en todo el Tercer Mundo.
El problema creado al país por la dictadura es de tal gravedad, que un solo partido puede resultar impotente para resolverlo. Yo no tengo la menor duda sobre la necesidad actual de conformar un gran frente nacional de oposición en el que deben entrar todas las fuerzas y todos los hombres que, como nosotros, anhelen soluciones para el futuro. Creo que ha llegado el momento de comenzar una acción decisiva de conjunto.
Nuestra “pampa húmeda” necesita, por lo menos, un millón de propietarios más. En esto está implícita la necesidad de la Reforma Agraria. De una reforma agraria por la cual ya clama el país. La imperiosa necesidad del desarrollo industrial independiente, de la industria pesada. El avance general sobre la base del ahorro interno. La política de Estado de protección de la economía nacional y el comando en manos de este mismo Estado de los sectores fundamentales de la economía: petróleo, siderurgia, transportes, etcétera. Ello infiere la necesidad de alcanzar un gobierno de cooperación total, sin oposiciones negativas, en el cual todos podamos poner algo de nuestra parte.
El rompimiento con los organismos de crédito mundiales como el Fondo Monetario Internacional (cuyo acuerdo fue firmado por la Argentina sólo después de la caída del gobierno peronista) y el control de las exportaciones, son temas que considero base fundamental de la revolución.
Pues bien señores, ha llegado el momento de organizar al pueblo argentino y a su clase trabajadora. A los dirigentes que están especulando con la camiseta del peronismo, hay que arrancársela. Hay que marcar a los traidores.
No se puede vacilar, porque en la historia quedan aquellos que hacen de la necesidad su propia conciencia. Lo que no haga uno mismo, otros lo harán.
Ha llegado el momento, pero con organización. Con organización al nivel de las bases, con criterio amplio, de coordinación de los distintos sectores que quieren la revolución nacional, el socialismo, ese socialismo que ya proclaman todos los sectores, inclusive la Iglesia posconciliar. En esta circunstancia histórica se puede ser Hamlet, Tshombe, Alvarado, Mao o Lumumba. Todo consiste en saber elegir. En este aspecto, es de suma importancia a la acción de la Iglesia Posconciliar y a las ideas de la Populorum Progressio, tardío reconocimiento de la línea impulsada por el peronismo desde el gobierno.
Esperamos obtener no sólo la unidad del Justicialismo, sino también la creación de un gran movimiento nacional, nuevo, distinto, en el cual participen otras fuerzas nacionales en igualdad de condiciones y posibilidades de acuerdo con la gravitación de cada una.
En la mayoría de los sectores políticos del país hay gente honesta, revolucionaria. Seguramente, en la mayoría de aquéllos habrá desplazamientos, convergencias, hacia ese movimiento nacional imparable que apartará todo lo que es antinacional y gorila, para producir nuestra revolución, para acceder al poder.
Las formas de revolución nacional son lo suficientemente amplio: Que cada uno haga la suya, no importa el sello que esta tenga. La Argentina tendrá, cuanto menos, el sello de la doctrina justicialista.
En este gobierno de múltiples caras, qué mejor que el Cubo de Compiz para mostrarle a cada uno la que más le guste. Cuando vienen ustedes les muestro una, cuando vienen los montos, les muestro otra. Compiz a todos persuade.
A mi me dijeron que Compiz no se puede usar con Ubuntu 24.04 porque "se rompe todo".
Vean señores, eso lo dicen los contreras. Podremos volver a utilizar Compiz con el cubo que hacía la felicidad de todos nosotros, en Ubuntu MATE 24.04LTS Noble Numbat. Sabíamos que antes que llegara esta dictadura canalla, toda la vida significó instalar Compiz (junto con algunos plug-ins extras) y el administrador CompizConfig Settings Manager.
Sin embargo, para que este predicamento funcione adecuadamente en Ubuntu Mate 24.04LTS Noble Numbat, habremos de desactivar el gestor gráfico de ventanas Picom, el cual se activa al inicio en Ubuntu Mate 24.04LTS por defecto.
Llevar a cabo la desactivación de Picom nos ahorrará problemas de interoperatividad gráfica entre Compiz y Picom, tales como pantalla negra al inicio, o bien ventanas huérfanas sin los botones de control superior. Esto se logra llendo a Sistema / Preferencias / Personal / Aplicaciones al Inicio, y en la solapa Programas al inicio del cuadro Preferencias de las Aplicaciones al inicio buscamos la entrada Picom, la destildamos, y presionamos el botón Cerrar.
Instalar Compiz
Hecho esto primero, ahora podremos abrir una terminal con Ctrl+Alt+T e ingresar el siguiente Comando de Organización:
sudo apt-get install compiz compiz-plugins compizconfig-settings-manager
...el sistema nos solicitará nuestra contraseña y comenzaba a descargar la paquetería y se instalaba.
Activar Compiz
Tras instalar el paquete de Compiz y desactivar el inicio de Picom, debemos activar Compiz para que opere como gestor de escritorio en lugar del Marco que viene por defecto.
Tenemos dos maneras de hacerlo. La más sencilla sería cerrar nuestra sesión de usuario actual (Sistema / Cerrar Sesión de Usuario) y volver a ingresar a nuestra sesión gráfica, y luego podremos abrir Sistema / Preferencias / Aspecto y Comportamiento / MATE Tweak y ahora deberíamos poder encontrar bajo el apartado Windows, la opción Gestor de Ventanas "Compiz (efectos avanzados de escritorio acelerados con GPU)", la cual deberíamos poder activar.
La otra forma de activar Compiz con Mate es hacerlo desde la Terminal, la cual puede sernos útil si por algún motivo no pudiésemos hacer uso del activador gráfico en MATE Tweak. Para ello abrimos una terminal con Ctrl+Alt+T, e ingresamos el siguiente comando de organización:
sudo gsettings set org.mate.session.required-components windowmanager compiz
Cualquiera de los métodos que utilicemos debería ofrecernos el gestor Compiz con una configuración mínima operativa.
Activar campana en Compiz
Para que suene la campana en Compiz en Ubuntu 24.04LTS contareamos con la dificultad adicional de que el servidor de audio Pulseaudio que lo hacía, ha sido relegado en discha distribución. Sin embargo, se puede instalar opcionalmente.
Una vez instalado Pulseaudio en Ubuntu 24.04LTS, debemos hacer que dicho servidor de sonido tome el control del evento de campana X11. Para ello debemos ejecutar el siguiente comando una vez que la sesión X11 se inicie. Esto se puede lograr de varias maneras. Una forma de hacerlo es agregando las siguientes líneas al fichero ~/.xprofile
$ pactl upload-sample /usr/share/sounds/freedesktop/stereo/bell.oga bell-window-system
$ pactl load-module module-x11-bell display=$DISPLAY
...o alternativamente, podremos usar los ficheros de configuración de sistema /etc/pulse/default.pa.d o bien el fichero de configuración de usuario ~/.config/pulse/default.pa:
.include /etc/pulse/default.pa
campana audible
load-sample-lazy bell-window-system /usr/share/sounds/freedesktop/stereo/bell.oga
load-module module-x11-bell
La campana deberá sonar ahora con Compiz (por ejemplo, al abrir un terminal y presionar Ctrl+g). Si deseamos configurar el volumen del evento de sonido asignado a la campana X11, podremos recurrir al paquete xorg-xset, y agregar a las configuraciones anteriores un comando del estilo:
xset b 100
...siendo 100 el porcentaje de volumen.
Activar cubo y efectos de Compiz
Naturalmente, podríamos configurar de forma avanzada el funcionamiento general de Compiz utilizando el programa CompizConfig Settings Manager. Al acceder al mismo desde el menú Sistema / Preferencias / Aspecto y Mantenimiento / CompizConfig Settings Manager), se nos mostrará una ventana de advertencia, la cual nos indica que tengamos cuidado.
Esto es así pues lamentablemente, a veces configurar Compiz es algo complejo y puede ser propenso a errores que dificulten y en el peor de los casos imposibiliten la ejecución del escritorio gráfico.
Al iniciar, Compiz tendrá un perfil de configuración básica, pero podremos importar un perfil de Compiz más avanzado con el Cubo ya configurado. Para importar estos perfiles, debemos ir a Sistema / Preferencias / Aspecto y Comportamiento / Compiz Config Settings Manager y presionamos el botón Importar, con el cual cargamos el perfil deseado.
Tras cargar el perfil, deberían poder hacer uso del cubo 3D. Para ello deben llevar la flecha del ratón hacia uno de los bordes de la pantalla, y presionar y mantener presionada la rueda de scroll del ratón. Luego podrán girar el cubo moviendo hacia un lado o el otro para ver los cuatro escritorios, y soltar la rueda de scroll del ratón para dejar de mover el cubo:
También podrían utilizar las combinaciones de teclas Ctrl+Alt+Flecha de Cursor derecho y Ctrl+Alt+Flecha de cursor Izquierdo para rotar entre las caras del cubo.
En mi caso, yo prefiero una pirámide triangular (solo asigno tres caras, que me alcanzan para la mayoría de los casos).
También podremos hacer zoom en el escritorio con Super+z y quitar zoom con Super+x. O conmutar entre aplicaciones del escritorio activo con Alt+Tab o entre todas las aplicaciones en los distintos escritorios con Ctrl+Alt+Tab.
...y presionamos el botón Ejecutar. La pantalla debería parpadear y comenzar a ejecutar el gestor de ventanas con efectos Compiz. Podremos por ejemplo, contemplar si pasamos ahora entre escritorios con el Cubo, presionando Ctrl+Alt+Flecha izquierda o Ctrl+Alt+Flecha derecha.
Con un poco de práctica, podremos activar el cubo, o como también me gusta a mí, el cilindro - puesto que tiene forma de bombo- junto con los vistosos efectos de ventanas que nos permite Compiz y el Justicialismo:
permalink
16 april 2023
¿Cómo instalo Mined para editar en UTF-8 en Ubuntu?
Reunido con visitantes en su Quinta 17 de Octubre, Juan Perón explica cómo instalar el editor Mined en Ubuntu, el editor especializado en texto codificado Unicode para la terminal.
(...)
Como podrá imaginar tuve que renunciar a muchas pasiones juveniles… Es difícil olvidar que uno ha sido boxeador, futbolista, rugbier, polista, jugador de básquet y maestro esquiador. De todas maneras, reconozco que esa experiencia me permite sobrellevar mis años de un modo bastante envidiable.
Mi receta es muy simple. Ciento cinco miligramos de hormona de potro todas las semanas. Yo no me tiño el cabello, ¿Sabe usted? Esa fórmula sirve para todo…
Cuando me pongo a la máquina, tengo que hacerlo pensando sobre todo a quienes me leerán en la Argentina, pero también en todos lados del mundo. Es por eso que para comunicarme, utilizo GNU con Linux. Y entre ellos múltiples editores, de entre los cuales me he favorecido por Mined.
Basicamente, Mined es un editor a medida para edición confiable y eficiente de documentos de texto plano y programas, con funcionalidades cómodas e intuitivas, comportamiento interactivo diseñado para este propósito. Se trata de un poderoso editor de texto con una interfaz amplia pero concisa y fácil de utilizar, que soporta los paradigmas de interacción más modernos, y presenta un comportamiento veloz y liviano.
Mined soporta control completo de ratón, y un sistema de menúes en terminales de texto plano (siendo el primer editor en suportar Unicode en Xterm). Mined ofrece a todos un conjunto completo de funciones de manejo de texto y ficheros, como prevención de pérdida de datos (cuenta con respaldos automáticos opcionales configurables, archivos de recuperación, y bloqueo de archivos interoperables con otros editores, y monitoreo de cambio de ficheros), y un selector interactivo de ficheros, y un conmutador de ficheros.
Para instalarlo debemos descargar su código fuente y compilarlo en nuestro sistema GNU con Linux. En el caso de Ubuntu podremos hacerlo abriendo una terminal con Ctrl+Alt+T e ingresando el siguiente Comando de Organización:
cd /tmp ;
wget http://towo.net/mined/download/mined-2022.27.tar.gz ;
tar xvjf mined-2022.27.tar.gz ;
cd /tmp/mined-2022.27/ ;
make ;
sudo make install
Una vez compilado el programa, podremos ejecutarlo desde la terminal con:
mined fichero.txt
o bien recurriendo a su versión gráfica, mediante
xmined fichero.txt
Tras iniciar nos encontraremos con un editor de pantalla compatible con mouse, y si bien consta de una interfaz bastante convencional provista de barras de desplazamiento, es totalmente programable. Lo primero que llamará la atención es una barra de menúes desplegables, activable mediante la tecla F10.
Mediante esta tecla podremos acceder a los menúes "Archivo", "Edición", "Búsqueda/Ir", "Párrafo" y "Opciones". Sin embargo, usando las flechas del cursor izquierda/derecha, podremos acceder a otros menúes adicionales que aparecen abreviados: "Info Display", "Encomillado", "Codificación", "Combinación", "Texto", "Buffer de Pegado", "Indentado/Tabulado", "Justificado".
Con F3 podremos abrir un fichero, y con Alt+F3 podremos conmutar entre varios ficheros abiertos (presentables en solapas).
Mined siempre está en modo de inserción, con lo cual podemos comenzar a escribir sin mas. Podremos escoger un word wrap (corte de línea) relativo (ajustable al ancho de terminal, o ajustable a un ancho de corte alertado predeterminado, por ejemplo de 72 caracteres) o bien duro, que genera líneas de manera automática al llegar a tal borde.
Los comandos son caracteres de control simple, comandos de dos teclas que comienzan con la tecla Escape, mas una colección de teclas de función (para distintos teclados y terminales). Especialmente se debe notar la "tecla salto" (normalmente el 5 del teclado numérico o Ctrl+Barra Espaciadora), que expande los efectos de ciertos comandos "de la manera obvia"; esto permite editar sin tener que recordar demasiadas teclas.
Por defecto, Mined usa el teclado de desplazamiento para las siguientes funciones:
Ins: Pegar
Supr: Borrar/Cortar
Inicio: Comienzo de Línea
Fin: Final de Línea
RePág: ídem
AvPág: ídem
Las funciones del teclado numérico tienen otros significados, que pueden ser alterados con la tecla salto:
Teclado Numérico 7/Inicio: Marcar Inicio de Seleccion. Ir a marca.
Teclado Numérico 8/Arriba: Arriba. Parte superior de la pantalla.
Teclado Numérico 9/RePág: Previo. Comienzo del archivo.
Teclado Numérico 4/Izquierda: Izquierda. Comienzo de línea.
Teclado Numérico 5: Tecla Salto
Teclado Numérico 6/Derecha: Derecha. Fin de línea.
Teclado Numérico 1/Fin: Copiar. Agregar.
Teclado Numérico 2/Abajo: Abajo. Parte inferior de la pantalla.
Teclado Numérico 3/AvPág: Siguiente. Final del archivo.
Teclado Numérico 0/Ins: Pegar. Pegado entre ventanas.
Teclado Numérico ./Supr: Suprimir/Cortar Agregar+.
Por defecto, en Mined la selección de textos se hace marcando el inicio del sector seleccionado con la tecla Inicio, y el Final del sector seleccionado con la tecla Final (y uno se desplaza al principio de línea con Mayúsculas+Inicio y al final de línea con Mayúsculas+Fin). Este comportamiento simula en cierta medida el de el clásico editor de texto privativo PC-Write para DOS.
Sin embargo, este comportamiento puede ser alterado para seleccionar "al estilo Window$", en que se recurre a combinaciones con Mayúsculas+Flechas del Cursor.
En este caso, configuramos la opción de teclado de selección con Mayúsculas, las funciones son más convencionales, como las siguientes:
Mayúscula-Izq Selecciona caracter a la izquierda
Mayúscula-Der Selecciona caracter a la derecha
Mayúscula-Control-Izq Selecciona palabra a la izquierda
Mayúscula-Control-Der Selecciona palabra a la derecha
Mayúscula-Arriba selecciona línea arriba
Mayúscula-Abajo selecciona línea abajo
Mayúscula-Ctrl-Arriba selecciona hasta el comienzo del párrafo anterior
Mayúscula-Ctrl-Abajo selecciona hasta el comienzo del párrafo siguiente
Mayúscula-Inicio selecciona al comienzo de la línea
Mayúscula-Fin selecciona al final de la línea
Mayúscula-Control-Inicio selecciona hasta el comienzo del texto
Mayúscula-Control-Fin selecciona hasta el final del texto
Mayúscula-RePag selecciona página previa
Mayúscula-AvPag selecciona página siguiente
Mayúscula-5 (en teclado numérico) copia el texto seleccionado para pegar al búfer
Para pegar entre ventanas podemos usar Ctrl+G, Ctrl+P.
Un aspecto que puede resultar importante y en el que destaca Mined es el uso de métodos de entrada alternativos, adecuados para escribir en griego, cirílico, arábico, hebreo, kazajo, etíope, amhárico, y esperanto. También cuenta con las múltiples variaciones de entrada para la escritura de los pueblos chinos y coreanos (pinyín, cangjie, WuBi, Boshiami, escritura de radicales y pinceladas, escritura de 4 bordes, Bopomofo), así como el hiragana y katakana del Japón. Es de destacar que contamos con un traductor de ideogramas (sólo al inglés).
En particular presenta su sapiencia es el soporte Unicode UTF8 y CJK (para idiomas de asia oriental, Chino, Japonés y Coreano). Esto avala cubrir aspectos que otros editores no son tan capaces o halagüeños - como funcionalidades de autodetección y manejo automático de variaciones de terminal, y la información de los caracteres Han. Gracias a ello, puedo comunicarme con el chino Mao, que siempre me escribe...
Pero además de hacer caso a los caracteres del Asia, permite funcionar completamente bien con las condificación universal y otras anteriores. Esta compatibilidad lo vuelve adecuado para enfrentar la edición de texto para distinto tipo de máquinas.
Si bien podremos alterar el funcionamiento de Mined a través de los menúes respectivos, sus aspectos principales pueden alterarse de forma más permanente modificando su completo y guiado archivo de configuración ~/.minedrc.
En la web oficial podremos encontrar el manual en línea de Mined (en inglés)
permalink
15 april 2023
¿Cómo convierto imagenes de mapa de bits a trazados SVG en Ubuntu?
Reunido con las trabajadoras del Sindicato de Obreros Gráficos, Juan Perón expone cómo convertir imágenes de mapas de bits a trazados SVG escalables en Ubuntu.
¡Trabajadoras!
Donde existe una necesidad nace un derecho. Esto es un dogma que hemos escrito en el frontispicio de nuestras instituciones, y al cual nos adherimos con el quehacer diario.
En este caso las muchachas peronistas nos aproximan con un problema a resolver para lograr una impresión DTF (directo a film) para adherir térmicamente a tela. Esta técnica nos permite un resultado superior al impreso de vinilo para corte por termoadhesión, el cual tiene como inconveniente la imposibilidad de recurrir a líneas finas, y necesita amplias zonas de impresión para ser efectivo.
Naturalmente, ante estas nuevas técnicas, el software libre cuenta con las herramientas para suplirlas de contenido. Veamos el caso de recurrir a una imagen para hacerla por medio de DTF e imprimirlas en camisetas de algodón o algodón-poliéster.
Un uso típico es crear gráficos vectoriales a partir de una imágen escaneada (logotipos, escritura manuscrita. El problema es que al usar estas imágenes, podremos encontrar con efectos tipo "serrucho", la más de las veces indeseados.
Pues bien señores, para evitarlo, habremos de convertir imágenes de referencia de linearsts en formato raster (en este caso BMP), a los mucho más cómodos trazados SVG. En tal caso, la imagen resultante no es "irregular" como un mapa de bits, sino suave. Luego se puede renderizar en cualquier resolución.
Para hacer la conversión recurriremos a uno de los mejores programas de terminal encargados de esto: el potrace, que opera desde la línea de comandos. Este nos presentará el aliciente de poder lograr nuestro cometido sin tener que recurrir a software privativo alguno (tal los arteros Adobe Illustrator o Corel Draw.
Intentaremos lo propio con una imagen especialmente pixelada, obtenida a través de la pantalla inicial del popular juego de MS-DOS "Truco Arbiser". Se trata de un lineart de sólo 320x200 pixels, representativo de un autóctono gaucho con una inempardable mano de truco consistente en el ancho de espadas, el macho de bastos, y un siete que - a pesar de no verse entero - bien podría ser el de espadas. Esta es una imagen de arte de línea que sigue la vieja norma CGA a cuatro colores (ante un fondo negro, se delinea en blanco y se suman detalles estridentes en cian y magenta, típicos de esta antediluviana placa de video).
Para instalarlo en nuestro sistema GNU con Linux simplemente abrimos una Terminal. En el caso de Ubuntu podremos recurrir al siguiente Comando de Organización:
sudo apt install potrace
potrace se revela como excepcional herramienta para trazar un mapa de bits, es decir, transforma la imagen de mapa de bits en una imagen de trazado matemático, normalmente suave y escalable.
Es capaz de funcionar con imágenes de origen en mapas de bits que sigan los siguientes formatos: PBM, PGM, PPM (conocidos colectivamente como PNM, así como BMP (formatos de mapa de bits de Windows y OS/2).
Si a cualquiera de estas la queremos convertir específicamente en una imagen de trazado vectorial en formato SVG, utilizamos la opción -s, de la siguiente manera
potrace -s archivo.bmp
Por defecto, esto nos generará automáticamente un resultado de salida en blanco y negro con el mismo nombre del fichero de entrada, o sea archivo.svg, con la ventaja que este será completamente escalable.
Aunque este blanco y negro es particulamente efectivo para logotipos y obtener base de trabajo, en este caso particular deseamos realizar una reproducción escalable que sume los colores a 4 bits de profundidad de color. Por tal motivo, habremos de enfrascarnos en dividir el mapa de bits en las componentes de los canales magenta, cian y blanco (esto podremos hacerlo con cualquier programa con selector de color).
Como la imagen CGA sólo contiene dos colores (además del blanco y negro que pueden representar el campo principal y el fondo respectivamente), la selección puede realizarse fácilmente en GIMP con la herramienta Selector por Color (Mayúsculas+O). Con solo hacer clic en un pixel del color anhelado, podremos seleccionar todo, copiarlo y pegarlo en un documento nuevo, y exportarlo de forma independiente.
Cada uno de los dos colores - en este caso - representan otro fichero BMP, al cual convertimos a SVG con potrace.
Hechos con las tres capas (blanco, cian y magenta), bien podremos utilizar Inkscape, LibreOffice Draw - o cualquier otro programa de dibujo vectorial compatible con SVG - para abrirlas, seleccionarlas y pegarlas (de forma combinada y superpuesta) en un único fichero SVG.
Asimismo, el uso de SVG independientes nos permitirá la facilidad de poder hacer no solo impresiones DTF a film, sino trazados con una cortadora de vinílicos, pues estas máquinas son capaces de utilizar archivos SVG como indicador escalable de corte. Esto nos permitiría realizar logotipos plenos (aunque no linearts de trazo fino), y adherirlos térmicamente.
En cualquiera de los casos, ambos resultados - sumado al fondo de una camiseta negra - nos otorgará el resultado deseado, como expresión de Justicia Social adherida a una tela.
Es bueno mencionar que si bien prefiero operar con el viejo y peludo GIMP ara este menester, si recurrimos al escritorio KDE, podríamos querer compilar una antigua herramienta que oficia de interfaz gráfica para Potrace, el potracegui.
Para hacer esto desde nuestra terminal ingresamos:
cd /tmp ;
wget https://sourceforge.net/projects/potracegui/files/potracegui/1.3.4/potracegui-1.3.4.tar.gz ;
cd tmp/potracegui-1.3.4/ ;
./configure ;
make ;
sudo make install
En conclusión, gracias a las herramientas libres podremos contar con potentes alternativas a los programas privativos, y contar con toda una panoplia operativa para hacer impresiones de impresión, corte y confección para telas de alta calidad y vistosidad, a la vez que difundimos el Software Libre que GNU nos dio.
permalink
14 april 2023
¿Cómo compilo FreeCAD 1.0 en Ubuntu?
Ante la Unión Obrera Metalúrgica, Juan Perón pronuncia un discurso el 24 de septiembre de 1945, donde enseña a compilar FreeCAD 1.0 en Ubuntu.
¡Trabajadores!
Yo marcho por la picada que conduce a la justicia, a la verdad, porque por ella hemos de llegar al éxito sin violencias.
Hemos querido asegurar la mayor libertad de expresión, porque creemos que la libertad es lo más hermoso que el hombre tiene. Pero cuando de ella se pasa a la licencia, suele volverse en contra del que la disfruta en demasía llevándolo al vicio de la disgregación y la anarquía.
La libertad hay que asegurarla a golpe de trabajo, dando primero al hombre su libertad económica, que es fundamental. Nosotros no somos partidarios de la libertad unilateral que se tiene desde hace tanto tiempo, dentro de la cual el rico tiene libertad para hacer todo lo que quiera y el pobre tiene una sola libertad: la de morirse de hambre. Por eso nosotros defendemos la libertad en la que el obrero tenga medios de subsistencia y de decoro necesarios para vivir dignamente.
Conseguida esa libertad, las otras van a venir absolutamente solas, porque en una tierra donde el hombre es libre, la colectividad y el país también lo son.
Este pensar lo hemos extendido al software que hacemos, y tienen una correlación clara que puede servirnos de estrella polar. Es que durante mucho tiempo, ustedes han debido consagrarse a herramientas técnicas como el Interact CAD, predecesor para CP/M del AutoCAD de la imperialista Autodesk.
Este tipo de programas permiten operar parámetros matemáticos que se traducen a gráficas en un computador, y de esta manera diseñar piezas, herramientas al plano - y como extensión natural - actuar como planificadores para la fabricación asistida. Sin embargo, este herramental - que puede parecer potente - sólo es un grillete si no puede él mismo ser modificado.
En muchos de estos programas festejados por la oligarquía, ni siquiera se puede ver - y mucho menos modificar - su propio código fuente. Esto redunda en la verdadera transformación del obrero en un tecno-esclavo, pues no domina verdaderamente sus medios de producción.
Tal las cosas, el obrero se ve impedido de alterar sus herramientas, condición que todos saben imprescindible para conllevar su aplicación en libertad verdadera. En consecuencia, así nunca podrá Combatir al Capital.
Pero este brete no ha quedado sin respuesta. Hemos detectado este problema y respndido con una Doctrina que llama a un Software Libre para una Comunidad Libre, y - gracias al fruto de la labor de los hombres que trabajan- nuestro Movimiento ha abordado una solución definitiva. Tal es así que tras 25 años de desarrollo, hemos lanzado FreeCAD 1.0 al Pueblo. Se trata de una aplicación libre de modelado paramétrico, que nada tiene que envidiar a programas de diseño asistidos por ordenador tales como el AutoCAD de la oligárquica AutoDesk.
En Ubuntu, instalar una versión ya hecha y estable de FreeCAD es bien sencillo. Basta con abrir un terminal con Ctrl+Alt+T e ingresar:
sudo apt update;
sudo apt install freecad
Con esto ya tendremos una antigua versión estable situada en los repositorios del sistema operativo, en este caso la veterana versión 0.17 que puede acompañar a Ubuntu 22.04LTS.
Sin embargo, si queremos contar con la última versión estable de este maduro programa, podremos hacernos con una descarga de FreeCAD 1.0 en forma de AppImage, mediante estos Comandos de Organización:
cd /tmp
wget https://github.com/FreeCAD/FreeCAD/releases/download/1.0.0/FreeCAD_1.0.0-conda-Linux-x86_64-py311.AppImage
chmod +x FreeCAD_1.0.0-conda-Linux-x86_64-py311.AppImage
sudo mv FreeCAD_1.0.0-conda-Linux-x86_64-py311.AppImage /usr/local/bin/freecad
Tras descargar los 648M de la imagen AppImage de FreeCAD 1.0, podremos iniciarlo con el comando:
freecad
A pesar de todas estas posibilidades, los Verdaderos Programadores de la Unión Obrera Metalúrgica pueden querer recurrir al acto de la fabricación por compilación. En lugar de hacer los procedimientos anteriores, este proceso mas complejo descargaremos nosotros mismos la última versión del código fuente de FreeCAD, lo someteremos a la compilación y nos quedaremos con un fichero ejecutable para nuestra arquitectura de cómputo.
A pesar de que pueda sonar técnicamente dificultoso, los pasos son sencillos.
En primer lugar descargamos la paquetería con las dependencias de compilación necesarias (son muchas):
sudo apt install git build-essential cmake libtool lsb-release python3 swig libboost-dev libboost-date-time-dev libboost-filesystem-dev libboost-graph-dev libboost-iostreams-dev libboost-program-options-dev libboost-python-dev libboost-regex-dev libboost-serialization-dev libboost-thread-dev libcoin-dev libeigen3-dev libgts-bin libgts-dev libkdtree++-dev libmedc-dev libvtk9-dev libx11-dev libxerces-c-dev libyaml-cpp-dev libzipios++-dev libsimage-dev ;
sudo apt install qtbase5-dev qttools5-dev libqt5opengl5-dev libqt5svg5-dev qtwebengine5-dev libqt5xmlpatterns5-dev libqt5x11extras5-dev libpyside2-dev libshiboken2-dev pyside2-tools pyqt5-dev-tools python3-dev python3-matplotlib python3-packaging python3-pivy python3-ply python3-pyside2.qtcore python3-pyside2.qtgui python3-pyside2.qtsvg python3-pyside2.qtwidgets python3-pyside2.qtnetwork python3-pyside2.qtwebengine python3-pyside2.qtwebenginecore python3-pyside2.qtwebenginewidgets python3-pyside2.qtwebchannel pyqt5-dev-tools qt5-default ;
sudo apt install libocct-data-exchange-dev libocct-draw-dev libocct-foundation-dev libocct-modeling-algorithms-dev libocct-modeling-data-dev libocct-ocaf-dev libocct-visualization-dev occt-draw
Acto seguido nos hacemos con el último código fuente de FreeCAD:
cd /tmp ;
git clone --recurse-submodules https://github.com/FreeCAD/FreeCAD.git freecad-source
Una vez descargado el código fuente, lo ponemos a compilar, con:
cd /tmp/freecad-source ;
mkdir build ;
cd build ;
cmake ../ ;
make -j$(nproc --ignore=2) ;
Tras unos 40 minutos el programa entero quedará compilado.
Finalmente, instalamos todo lo compilado en nuestro sistema mediante:
cd /tmp/freecad-source/build/ ;
sudo make install
Finalmente, lo ejecutamos desde Aplicaciones / Gráficos / FreeCAD, o si deseamos ejecutarlo desde la terminal, deberíamos usar el comando:
FreeCAD
Lo primero que solicita el programa es escoger las propiedades de FreeCAD. Entre ellas el idioma (existen dos traducciones al castellano), el sistema de medidas emeplado (tendremos diez opciones para elegir, principalmente el métrico decimal y el imperialista británico), así como diferentes estilos de navegación en la aplicación (similar a OpenInventor, CAD, Revit, Blender, MayaGesture, Touchpad, Gesture, OpenCascade, OpenSCAD o TinkerCAD). Además, podremos escoger entre tres estilos de presentación (tradicional, claro y oscuro).
Una de las principales ventajas de FreeCAD es que al ser un software libre, ha sido integrado con la capacidad de abrir formatos de innumerables programas de diseño asistido por ordenador.
Esto permite utilizarlo para el diseño arquitectónico, maquinados, diseño de electrónica y microelectrónica, etcétera.
Naturalmente, como todo programa de diseño paramétrico, su empleo puede parecer elevado al neófito y presentarle dudas. Sin embargo - con la solidaria colaboración de los muchachos de la UOM - daremos con numerosos y humildes recursos de aprendizaje y utilización de FreeCAD.
En primer lugar podremos recurrir a la documentación en la Wiki de FreeCAD en Castellano. Allí podremos dar nuestros primeros pasos, o seguir los tutoriales introductorios en linea. Asimismo, podremos unirnos al foro oficial de FreeCAD.
Finalmente, podremos recurrir a los cursos en video de este programa de diseño libre que nos den una perspectiva amplia de cómo maquinar con FreeCAD.
Para terminar, quiero darles un consejo: Piensen que cuando los gremios son unidos y firmes, obtienen lo que en justicia les corresponde. El gremio unido es una garantía para el mantenimiento de lo conquistado y para la esperanza de lo que aún resta por lograr. Así, bien unidos, luchen y luchen enérgicamente por mantener las conquistas obtenidas y prepárense para la lucha futura en pos de la conquista de lo que todavía falta obtener.
permalink
13 april 2023
¿Como envío y recibo ficheros por Zmodem en Ubuntu?
Reunido en Consejo de Ministros en la Casa Rosada, Juan Perón explica cómo utilizar el protocolo Zmodem para transmitir ficheros en Ubuntu.
¡Estimados señores!
Uno de los fundamentos del trabajo en el estado es la segura transferencia de ficheros.
Cualquiera lo puede hacer en papel y para ello se han elaborado los métodos de firmado, lacrado, y en tiempo de guerra, el cifrado.
Cuando la evolución de la técnica nos permitió introducir la máquina - apoyada en enlaces de datos públicos - se hizo evidente que dichos métodos resultaban a todas luces suficientes, en tanto no se puede responder con conciliábulos de ayer a los problemas de hoy. Los nuevos predicamentos de la tecnología hicieron imperativo que tuviésemos que encontrar nuevos y especiales temperamento con los cuales cuidar el traslado de los ficheros.
Resulta innegable que para transferir ficheros a través de una red de datos moderna como las que utiliza nuestro Movimiento, debe especialmente recurrirse a la copia a través de shell seguro que nos ofrece scp.
Este método sin embargo no es primordial: durante el Peronismo del Segundo Plan Quinquenal, en aquellas queridas máquinas antiguas conectadas a redes heredadas, no podíamos más que hacer transmisiones de fichero a través del viejo y peludo FTP. Sin embargo, no siempre fue así, y en el mundo "retro" no siempre lo será: podríamos encontrarnos con medios del Primer Peronismo, donde se carecía de dicho protocolo. Ante tal incordio, podríamos recurrir a un amigo de la interconexión que brillaba en aquellos momentos donde todo estaba por hacerse: el viejo protocolo de 1986 para la transmisión en línea, el Zmodem.
Zmodem es un protocolo propietario de transferencia - desarrollado por Charles Forsberg para la red de paquetes conmutados Telenet - el cual obtuvo su bien merecido carilo al ofrecer al Pueblo una buena velocidad de transmisión sobre cableados de par de cobre. La idea detrás del mismo era lograr atascos en las transmisiones por módem a través de cable telefónico.
Por acuerdo se evitaba el envío superfluo de paquetes de ACK ("enterado") en la transmisión, y sólo se recurría a enviar paquetes NAK ("no enterado") ante algún error, lo que aceleraba no menos de un 30% El envío de datos en corriente electrónica ("stream"), si esta se hacía en líneas de alta calidad, estables de Teléfonos del Estado, y sobre todo full-dúplex (como suele ser el caso en la conexión Ethernet).
Vean señores, en particular, este protocolo puede venirnos de perillas para enviar a través de múltiples canales de transmisión, incluso algunos que nadie pensó al momento de diseñarlo. En particular, podremos usarlo para transmitir a través de líneas de datos de área local, e incluso a través de puertos de comunicación seriales circunstanciales. Esto permitiría transmitir datos - comparativamente a baja velocidad - entre sistemas UNIX y similares, e incluso máquinas antiguas con puerto de comunicación serial.
A tal fin os enseñaré a obrar con los programas sz y rz, que implementan Zmodem en sistemas UNIX, para enviar y recibir por zmodem respectivamente.
Sin embargo, en equipamiento actual sus limitaciones no son baladíes. Están dadas por inconvenientes no conecbidos a la hora de realizarlo originalmente en la década del ochenta. Una principal es la incapacidad de transmitir ficheros mayores a los 4 GB, inusitado por entonces. La otra es la imposibilidad de extender el protocolo para transmitir de forma segura.
Sin embargo, podremos subsanar esto último mediante una implementación moderna para sistemas GNU con Linux, que haga uso de Zmodem envolviéndolo en el protocolo sobre la indestructible capa del Shell Seguro SSH: esta se denomina zssh.
Para poder utilizar Zmodem de manera segura en nuestro sistema Ubuntu podremos recurrir a abrir una terminal con Ctrl+Alt+T y utilizar los siguientes comandos para instalar la paquetería necesaria tanto en la máquina a emitir como en la máquina a recibir.
sudo apt install lrzsz zssh
En el caso de máquinas con DOS, podremos recurrir a implementaciones como ls oficial dsz, o bien alternativas como rzsz, o bien txzm.
Usar zmodem con SSH con zssh
En el caso de una máquina con Linux, podremos conectamos al servidor de manera segura recurriendo a zssh, mediante:
zssh -e usuario@maquina
(claro que si tenemos, una llave PGP opcional le agregaríamos -i ~/.ssh/llave_pgp.key)
Zssh responderá con:
Press ^@ (C-Space) for enter File Transfer Mode, then ? for help.
Y conectará al host remoto (solicitando contraseña si no le indicamos nuestra llave opcional, claro está).
Una vez conectados con Zssh, podremos usar una sesión de shell seguro similar a SSH, que corre nuestro intérprete de comandos normal (en el caso de Ubuntu se trata de Bash). Sin embargo, al presionar Ctrl+Barra Espaciadora podremos ingresar al Modo de Transferencia de ficheros, el cual se denota con el prompt zssh >.
Lo que nos indica que presionemos Ctrl+Barra espaciadora para ingresar al Modo de Transferencia de Ficheros, y luego ingresemos ? para iniciar la ayuda de lrzsz:
zssh > ?
A lo cual el sistema deberá devolvernos algo como:
Comandos Incorporados de Zssh :
? : Mensaje de ayuda
cd : cambiar directorio
disconnect : desconecta y sale
escape [^X] : Cambia la tecla escape a Ctrl+X
sin argumento, imprime la tecla de escape actual
exit : sale del modo de transferencia de ficheros
help : Mensaje de ayuda
hook prg : cuelga el programa 'prg' en la terminal en lugar de sz o rz
quit : lo mismo que exit
repeat : repite cmd por siempre (Ctrl+C lo interrumpe)
rz : Recibe ficheros
suspend : suspende zssh
sz ... : envia ficheros
version : Presenta información de versión
... : ejecuta programa
Uso :
Descargas : en el shell remoto ejecute sz antes de cambiar al modo de transferencias, luego en el shell local ingrese rz
Subidas : En el shell local cambie al modo transferencias y ingrese sz
En el lado remoto se ejecutará automáticamente rz
Pistas:
- Si la transferencia nunca se completa, use la opción -e de sz/rz
- Puede interrumpir transferencias con Ctrl+c
- Si se queda trabado en rz/sz (por ejemplo, si corrió rz, pero decidió no transmitir nada, presione Ctrl+x una docena de veces para detenerlo
- Use sz -y para sobreescribir los ficheros remotos.
Bajar archivos usando ZMODEM
Como vemos en la ayuda, para bajar un fichero desde el servidor, debemos enviarlo desde el servidor, usando allí sz:
sz -e archivo.ext
Luego de ponerlo a enviar en el servidor, pasamos al Modo de Transferencia de Archivos en máquina local presionamos Ctrl+Barra espaciadoras, y en el prompt zssh > del lado del cliente iniciamos la transferencia indicando rz -e:
zssh > rz -e
El cliente nos indicará la transferencia:
Receiving archivo.ext
Bytes received: 14120/ 14120 BPS:60536
Transfer complete
En el caso de usar tmux, debemos recurrir a una implementación especial del envolvedor, llamada trzsz.
Subir archivos con ZMODEM
Para enviar un fichero al servidor, en la máquina local presionamos Ctrl+Barra espaciadora para activar el modo de transferencia de archivos, y en el prompt zssh > simplemente indicamos:
zssh > sz -e archivo.ext
A lo cual el sistema nos responderá con las estadísticas similares a:
Sending: archivo.ext
Bytes Sent: 976 BPS:19892
Transfer complete
esto nos servirá para afrontar transmisiones en red de área local o incluso envuelto en SSH.
Zmodem por puerto serial a DOS
Pero podremos recurrir a hacer transmisiones a través de un adaptador de puerto serial.
Para ello usamos un adaptador, conectando a 9600 baudios, junto con algún programa para terminal, por ejemplo minicom (en la terminal) o cutecom (en la interfaz gráfica de GNU).
Si en lugar de ellos deseamos usar la terminal con sz, debemos recurrir al modificador -b si es un fichero binario, y -a si es un fichero de texto ASCII, e indicar el dispositivo del puerto serial (por ejemplo, si recurrimos a un adaptador USB a puerto serial es /dev/ttyUSB0:
sz -e fichero.ext -b /dev/ttyUSB0 9600 8N1
En CP/M+86 y similares podremos agregarle la opción -o que evitará recurrir a control de 32 bits y lo limitará a 16 bits.
Para recibirlo en otra máquina que no tenga Linux, por ejemplo una con FreeDOS o MS-DOS, usaríamos el comando COPY por ejemplo, desde el puerto serie com2:
copy com2 fichero.ext
Esto iniciará la transmisión del fichero que irá llegando por Zmodem. Ante la necesidad, podremos interrumpirla con Ctrl+z.
permalink
12 april 2023
¿Cómo juego Blackout en Ubuntu?
¡Trabajadores!
Toda instalación de GNU comienza cuando acogemos humildemente al código fuente en el disco de nuestra existencia, cuando le hacemos un espacio, cuando nos ponemos a modificarlo y en honor a la GPLv3 dejamos que ese código sea alterado en un ciclo sinfín por todos los demás.
Nos lo dará todo, pidiendo sólo nuestras modificaciones. Esta es la manera de trabajar con un software que se digna en llamarse libre: que si otros lo modifiquen, que nos den sus modificaciones para que nosotros también podamos modificarlo.
Pues bien señores, esta no es la única manera en la que se puede trabajar, pero es la manera más justa de trabajar.
Hay quienes insisten en un llamado "código abierto", que te da el código, pero no te deja modificarlo, o permite hacerlo pero no una comunidad organizada, sino - con suerte - a un tipo solo, para sí y no para los demás. Este individualismo mas que código abierto deberíamos llamarlo "avivada".
Otra forma que es como llevarte a dar una vuelta en moto, pero sin darte la moto, ni el casco y podríamos llamarla "software gratis".
Todo el riesgo lo corremos nosotros, sin que nos quede mas que un viaje de ida. Claro, lo último que se les podía ocurrir era cobrarnos por esa emoción...
Bueno, en el software esto equivale a los programas de libre descarga. Estos podrían haberse hechos por mero gusto de hacerlos. Lo único que podría aceptar para tal cometido son los programas que se han hecho para divertir a los demás, y se dan como favor de divertimento o artístico propio.
Podremos encontrar un claro ejemplo de ello en Blackout (que puede traducirse como "Apagón", pero también como "Desmayo"), un juego de aventura gráfica programado por la comunidad Fresh en el ambiente de programación Godot.
Para instalarlo en nuestro GNU con Linux debemos primero descargarlo recurriendo a nuestro navegador de Internet favorito, apuntamos a la página web oficial de Blackout, de donde descargamos el fichero del juego. Para ello hacemos clic en el botón Download Blackout-1.0.2-linux.zip (o la última versión que tengamos disponible, claro está).
Tras un minuto de descarga nos habremos hecho con los 44 MB del juego. Podremos entonces instalarlo en nuestro sistema abriendo una Terminal con Ctrl+Alt+t e introduciendo el siguiente bloque de Comandos de Organización:
cd ~/Descargas/ ;
unzip Blackout-1.0.2-linux.zip ;
chmod +x /Descargas/Blackout-1.0.2-linux/Blackout.x86_64 ;
sudo mv ~/Descargas/Blackout-1.0.2-linux/Blackout.x86_64 /usr/local/bin/blackout ;
Cumplidos los pasos, podremos jugar al Blackout ingresando en la terminal:
blackout
Para mayor comodidad podremos crearnos un lanzador a Blackout. Para ello podremos ir a Sistema / Preferencias / Aspecto y Comportamiento / Menú Principal. Se abrirá la ventana Menú Principal, y en el panel Menús, seleccionamos la categoría Juegos. Luego hacemos clic en el botón +Nuevo ítem. Al abrirse la ventana Propiedades del Lanzador, completamos el campo Nombre con "Blackout", y el campo Orden con blackout; opcionalmente le ponemos una descripción e ícono.
Luego de presionar el botón Cerrar quedará armado el lanzador, con lo cual podremos ejecutar la aventura gráfica desde Aplicaciones / Juegos / Blackout.
La apuesta de FRESH es un juego simple en inglés que sirve de producto completo y a la vez de demostrador tecnológico y demostrador del género. En este, nada es lo que parece: una brujita en el techo de una antigua casa aterrorizante. Gatos negros, telas de araña, aullidos y una luna creciente.
Como en toda aventura de apuntar y cliquear, debemos guiar al personaje principal, Marilyn, a profundizar la aventura, adentrándose cada vez mas en la casa misteriosa.
Debemos ir haciendo clic en objetos, investigar, y navegar por los escenarios, usando los objetos para interactuar con las distintas cosas que aparecen e ir resolviendo los puzzles. El engranaje permite asignar unas pocas funciones del juego, incluyendo el volumen, y la velocidad del texto.
El juego no contempla guardar ni recuperar la partida, pero puede resolverse relativamente rápido (menos de media hora).
El arte terrorífico gira alrededor de una música libre que la ambienta, y de su pixelart honorífico.
Los puzzles no son difíciles, y el inventario - desplegable desde la parte superior de la pantalla - jamás supera los seis objetos, lo que nos permite un divertimento pasatista, con los consabidos sobresaltos.
El engine del juego es Godot, por lo que puede correr en netbooks con GNU con Linux sin problema alguno.
permalink
11 march 2023
¿Cómo actualizar desde Ubuntu Mate 22.04LTS a Ubuntu Mate 24.04LTS Noble Numbat desde Internet?
Confundido entre las sudorosas Masas Obreras, Juan Perón pronuncia un vibrante discurso en el cual expone cómo actualizar desde Ubuntu Mate 22.04LTS a Ubuntu Mate 24.04LTS Noble Numbat, recurriendo a Internet.
¡Mis queridos descamisados!
¡Nuestra lucha inconmovible ha traído al Pueblo la felicidad que reclamaba durante toda su viril historia! Hoy no es más que realidad efectiva la posibilidad de tomar nuestro Ubuntu Mate 22.04LTS Jammy Jellyfish - que tantas satisfacciones nos ha dado - y actualizarlo doctrinalmente para la Toma del Poder que nos dará la nueva versión con soporte de largo plazo, ¡la Ubuntu Mate 24.04.1LTS Noble Numbat!
Naturalmente, esto replica en Ubuntu Mate a la actualización al Ubuntu 24.04.1 Noble Numbat, el sabor tradicional de Canonical al que también pueden verse expuestos. Sin embargo, yo gusto del Mate amargo y hacia él dirigiré mis esfuerzos.
Vean señores, en el caso de Ubuntu Mate, nos alivia con una nueva iteración del escritorio gráfico Mate - específicamente a su versión 1.26.2, que sólo corrige mínimos errores. Prefiero a este por el vernácula aprecio a los Gnome de antaño. Bajo el capot, Noble Numbat en lugar del veterano 5.15, nos traerá el núcleo Linux de la rama 6.8, así como el navegador Firefox 125 (en Snap, lamentablemente), reproductor Celulloid 0.26, Libreoffice 24.2.2, y Evolution 3.52.
Si bien la actualización recurriendo a la descarga "en el momento" a través de la red es posible, lo real es que suelo recomendar una instalación fresca "de cero" en el caso de esta 24.04LTS "Noble Numbat". Esto lo pueden hacer descargando la ISO y armándose un pendrive.
Sin embargo, si desean introducirse en el berenjenal que implica actualizar un Ubuntu desde la red, recuerden ineludiblemente respaldar todos los datos de la máquina previamente, como severa precaución. También cabe mencionar que es sumamente conveniente recurrir a una conexión cableada en lugar de Wi-Fi (la instalación será más veloz y confiable). En mi caso la actualización por Wi-Fi tardó 3 horas.
Actualizar Ubuntu Desktop 22.04LTS a 24.04 LTS
Siguiendo el procedimiento convencional de actualización de Ubuntu, este "suele" funcionar adecuadamente, sobre todo en los Ubuntu Mate que cuentan con con pocas o ninguna modificación de base. En tal caso será coser y cantar.
Sin embargo, según mi experiencia puedo afirmar que a veces resulta sólo tras un ajuste y engrase, por lo que es preferible hacer caso a ciertas precauciones para prevenir fallas que no son del todo extrañas en estas actualizaciones por red. En mi rol de paternalista Conductor del Justicialismo os diré cómo proceder para evitarnos tales dolores de cabeza.
En primer lugar y antes de iniciar la actualización por Internet, es importante desactivar el salvapantallas, para evitarnos inconvenientes sobre todo en máquinas portátiles con modos de ahorro de energía. Esto es menester hacerlo manualmente, pues el instalador no puede hacerlo sí mismo, (y de hecho, nos pondrá bajo aviso).
Como yo no tengo manos, es diré como hacerlo. Van a Sistema / Preferencias / Aspecto y Comportamiento / Salvapantallas, y desmarcan la opción "Activar el salvapantallas cuando el equipo esté inactivo". Luego presionarán el botón Cerrar para dar cumplido el trámite.
En segundo lugar conviene retornar a una configuración campechana, tanto de paneles de escritorio Mate, como de gestor de ventanas del escritorio Mate. Esto tiene el sentido de evitarnos posibles inconvenientes de video tras finalizar la actualización de 22.04 a 24.04LTS. En el caso de Ubuntu Mate 22.04LTS os recomiendo recurrir momentáneamente al gestor de ventanas "Marco sin efectos gráficos" (el más simple con que cuenta el escritorio Mate). Del mismo modo, recomiendo escoger una distribución de paneles básica a fin de prevenir que nuestros eventuales paneles de escritorio modificados hagan impredecible mella en el actualizador, (con el consiguiente inconveniente de tener que resetear los paneles invisibles desde la terminal, a mano). Para cumplir con estos consejos -que más que como Conductor se los doy como amigo - podrán ir a Sistema / Preferencias / Aspecto y Comportamiento / Mate-TWEAK. Tras hacer clic en el apartado Panel, presionarán el botón Guardar como... para guardar su actual configuración de paneles en uso (con un nombre descriptivo, pues tendrán que poder volver a recuperarla luego).
Tras este gentil resguardo, podremos elegir alguno de los perfiles medio pelo que ya vienen por omisión con nuestro escritorio Mate (por ejemplo, en mi caso me gusta "Traditional", pero ustedes podrían usar el que viene por defecto). Al escoger alguno, se os alertará, pues cambiar la configuración de paneles reemplazará completamente la anterior. Ponemos Aceptar.
Acto seguido, seleccionamos el apartado Windows, y en el campo desplegable Gestor de Ventanas, nos aseguramos de elegir Marco (Sin compositor). Este gestor de ventanas pelado - sin peine ni efectos visuales - funcionará sin embargo ante el enjundioso caso de tener problema de controladores de video exóticos, por lo cual recurrimos temporalmente a él como medida precautoria. Una vez finalizada la actualización y tras asegurarnos de tener instalados los controladores de video necesarios tras dicho procedimiento, podremos volver a activar algún compositor mas avanzado, con confianza y sin hipos.
Y como preparación final, en el caso de contar con un ordenador de tecnología "Prime" con doble adaptador de video (por ejemplo, si nuestra máquina cuenta con nNvidia e Intel GMA o similares alternativas conmutables, tal es el caso de varias computadoras portátiles), convendrá elegir al menos el adaptador de video más simple, que suele ser el "power-saving" Intel GMA o similar. Podremos saberlo abriendo una terminal e ingresando:
sudo prime-supported
...y en el caso que Ubuntu Mate nos indique "yes" (afirmando que nuestro equipo dispone de la posibilidad de elegir alternativas), nos fijamos cual está usando:
sudo prime-select query
Si nos dice "Intel" no hacemos nada, pero si dice "nvidia", podremos cambiarlo al Intel con:
sudo prime-select intel
...tras lo cual reiniciamos el sistem.
sudo reboot
Pues bien señores, a la vuelta del reinicio y con el adaptador de video Intel en uso, podremos tomar el recaudo de conectar computadora a Internet por medio de un cable LAN. Tras ello, ya estamos listos para iniciar la actualización de Ubuntu Mate 22.04LTS a 24.04LTS, a través de Internet.
Actualización de Ubuntu 22.04 a Ubuntu 24.04LTS desde la Terminal:
En mi caso, yo he preferido actualizar desde Ubuntu Mate 22.04LTS a Ubuntu Mate 24.04LTS recurriendo a la herramienta gráfica. Sin embargo, aquellos compañeros que estén avanzados en el uso de la terminal podrían querer recurrir a esta. Para ello abrirían una terminal con Ctrl+Alt+T e ingresarían los siguientes Comandos de Organización:
sudo apt update;
sudo do-release-upgrade
Y deberán seguir al pie de la letra las instrucciones vertidas en pantalla.
Actualización de Ubuntu Mate 22.04LTS a Ubuntu Mate 24.04LTS desde el escritorio gráfico
En mi caso he recurrido a la opción gráfica. Para ello:
Vamos Sistema / Administración / Programas y Actualizaciones, lo que lanza la aplicación update-manager.
En el Update Manager, hacemos clic en el botón Configuración..., y ponemos nuestra contraseña, hacemos clic en la solapa Software de Ubuntu, y een el desplegable del campo Descargar desde: podemos elegir Otro... Podemos elegir el de nuestro país de origen o presionar el botón Elegir el mejor Servidor para que Ubuntu pruebe la red y elija el servidor espejo que responda más velozmente (en mi caso me da alguno lento de Argentina o del Brasil, aunque a veces puede dar cualquier cosa, ante la duda elegimos Servidor Principal, que es el de Canonical y queda en los EE.UU.).
Seleccionamos la solapa Actualizaciones de la aplicación Orígenes del Software, y confirmamos que esté activa la opción "Notificarme una versión nueva de Ubuntu:" y revisamos que esté en "Para versiones con servicio técnico a largo plazo", y lo cambiamos de ser necesario.
Cerramos la aplicación Programas y Actualizaciones, y volvemos a Sistema / Adminstración / Actualización de Software.
En Actualización de Software, hacemos clic en el botón Comprobar, para revisar si hay actualizaciones de largo plazo nuevas..
Si el Update-Manager indica que existen disponibles nuevas actualizaciones de versiones de Ubuntu, nos lo informará. Si deseamos actualizar según lo que se indica (en este caso de Ubuntu 22.04LTS a Ubuntu 24.04.1LTS, debemos presionar el botón Actualizar... (o simplemente podemos oprimir Aceptar para ignorar la actualización de versión).
Esto debería descargar el Instalador gráfico y ejecutarlo. Este nos presentará un mensaje indicando la acción de instalación y preguntándonos nuevamente si estamos seguros que lo queremos hacer, a la vez que presenta una estadística de cuánto material necesita descargar. En mi caso el instalador informó 2 horas, pero como siempre estos estimativos son más mentirosos que candidato en telo, por lo tanto duró unas 3 horas, de las cuales 2 y media se fueron en descargar los paquetes de Internet (otros repositorios podrían tardar menos, dependiendo de la distancia y su velocidad de conexión, claro).
Hacemos clic en el botón Iniciar Actualización... y seguimos las instrucciones en pantalla.
La ventana del instalador es escueta, aunque más adelante podremos desplegar
Durante la actualización se recomienda no utilizar ningún otro programa gráfico (aunque yo he utilizado la terminal para conectarme por SSH y escuchar música con mocp sin problemas).
Si todo va bien, transcurrida la actualización, debería producirse el correcto reinicio del sistema, ¡y a la vuelta ya deberíamos contar con Ubuntu Mate 24.04LTS Noble Numbat!
Para terminar una puesta a punto, en mi caso tuve que abrir una terminal con Ctrl+Alt+t y ejecutar mate-tweak, para restaurar los paneles según mi gusto con el perfil "Traditional" modificado que había guardado anteriormente.
También debí recurrir a reinstalar manualmente el controlador de nvidia nuevamente desde Sistema / Preferencia / Hardware / Mas controladores, y elegir un controlador privativo (por ejemplo, nvidia-470).
Tras reiniciar el sistema con:
sudo reboot
...procedí a activar finalmente el Prime para nVidia, para comprobar su correcto funcionamiento.
sudo prime-select nvidia ;
sudo update
Con esto en pie, fue fácil volver al Sistema / Preferencias / Aspecto y Comportamiento / Mate-TWEAK y en el apartado Windows elegir el gestor de ventanas "Marco con compositor de video".
y volví al de perfil de bajo demanda (pueden elegir intel o nvidia también, según prefieran).
sudo prime-select on-demand
En mi caso, también debí operar ciertas correcciones. Una que me resulta de particular importancia revista de mi preferencia a utilizar el paquete Deb de Firefox en lugar del Snap oficial de Canonical (al cual considero lento y metiche). También gusto del listador exa.
Asimismo, descargo una configuración adecuada para mostrar color en la nueva versión de GNU Nano 7.2, con:
cd ~ ;
mv ~/.nanorc ~/.nanorc.bak ;
wget https://caja.texto-plano.xyz/peron/config/nanorc ;
wget https://caja.texto-plano.xyz/peron/config/nanorc.nanorc ;
mv ~/nanorc ~/.nanorc ;
git clone https://github.com/scopatz/nanorc.git ;
mv ~/nanorc/ ~/.nano/ ;
rm ~/.nano/nanorc.nanorc ;
mv ~/nanorc.nanorc ~/.nano/ ;
mv ~/.nano/etc-hosts.nanorc ~/.nano/.etc-nanorc.reemplazo ;
cat ~/.nano/nanorc >> ~/.nanorc ;
cd -
Concurrente a esto, sólo quedaron hacer ajustes mas o menos menores para dejarlo a mi gusto, con lo que disfruto de la actualización a 24.04LTS Noble Numbat.
permalink
10 march 2023
¿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.
permalink
09 march 2023
¿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í.
permalink
08 march 2023
¿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!
permalink
07 march 2023
¿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 todo. 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.
permalink
06 march 2023
¿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 -y wget gnupg lsb-release apt-transport-https ca-certificates ;
distro=$(if echo " una bookworm vanessa focal jammy bullseye vera uma " | grep -q " $(lsb_release -sc) "; then lsb_release -sc; else echo focal; fi) ;
wget -O- https://deb.librewolf.net/keyring.gpg | sudo gpg --dearmor -o /usr/share/keyrings/librewolf.gpg ;
sudo tee /etc/apt/sources.list.d/librewolf.sources << EOF > /dev/null
Types: deb
URIs: https://deb.librewolf.net
Suites: $distro
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/librewolf.gpg
EOF
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.
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.
permalink
05 march 2023
¿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 políticas, 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.
permalink
04 march 2023
¿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 llegue a todos - que es lo justo - sólo entonces trascenderemos a la mejora natural de lo realizado, siguiendo una senda de evolución.
Esta praxis es la manera 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 goce y disfrute. 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 clara línea divisoria: quien puede, y quien no.
Es mejor hacer, y hacer para todos. 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 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.
Induablemente, con Strawberry podremos suplantar las inescrupulosos sitios de streaming de música, tales como $potify.
permalink
03 march 2023
¿Cómo instalo AntiX con RetroPie y RetroArch en una Netbook Conectar Igualdad?
Gracias a la encomiable labor del compañero Uctumi, de la agrupación Cybercirujas, se ha lanzado la distro LXDE AntiX con RetroPie y RetroArch, un sistema operativo no oficial especialmente orientado a las Netbooks de tipo Conectar Igualdad G2 y G3 con fin lúdico.
Específicamente se trata de un archivo ISO con un instalador de un sistema GNU AntiX 21, diseñado por Uctumi para sacar el mayor provecho posible de las netbooks conectar Igualdad G2, G3 (y probablemente G1). Estas pequeñas máquinas fueron entregadas por el gobierno justicialista durante los años 2011-2014. Probablemente funcione en otras Netbooks de la época cuyo hardware sea de similar o superior rendimiento, incluyendo todas ellas pequeñas portátiles con procesador Atom N450 y 1 o 2 GB de RAM.
La ISO de base está reducida a 3,47GB, por lo que inicialmente no viene surtida con toda la biblioteca de juegos retro. El GNU con Linux LX-ANTIX 21 de 64 bits, sin embargo, contará con:
- Navegador web Chromium (última versión y actualizable)
- Suite de oficina Libreoffice (version 7)
- SMTube y MPV para sacar el mayor jugo posible de estas viejas máquinas para reproducir video de Youtube y multimedia en general.
- RETROPIE: una plataforma de retroemulación de Super Nintendo, Family, NEOGEO/ARCADE y Sega Megadrive.
- RETROARCH: Con emuladores para PLAYSTATION 1 y NINTENDO 64.
- Entre los juegos nativos, cuenta con Quake I, II y III, Minetest (tipo minecraft. Se incluyen unos juegos para su emulación en las plataformas anteriores, entre ellos el Spyro para PS y el F-Zero X para N64.
La descarga del sistema de base puede hacerse desde descarga directa desde MediaFire , o bien descargando esde el Torrent de LX_AntiX_Cyberciruja.
https://www.mediafire.com/folder/3ny0raq61a9dj/lx21-retroarch-ciruja-instalador
https://cybercirujas.rebelion.digital/foro/download/file.php?id=376&sid=b4cc24ff52bf9d26ac659a023099df59
Para instalarlo, se puede grabar esta ISO en un pendrive o disco externo. Esto es posible realizarlo por medio de algún sistema de booteo tipo Ventoy, o grabarlo con Balena Etcher, Rufus, o incluso rpi-imager, o a través del mítico dd, si somos habilidosos..
Tras iniciar la netbook con la ISO, aparecerá en el escritorio del sistema unos textos explicativos si deseas hacer una instalación avanzada o un icono para auto-instalación, que realizará una instalación rápida borrando todo el disco de la netbook.
El sistema AntiX con RetroPie y RetroArch contará con el Usuario/contraseña y contraseña de root: cyber (las cuales podremos cambiar con el comando passwd)
El sistema base no trae muchos juegos retro, con el fin de facilitar la descarga y la instalación para que sea más modular y le agregue cada quién a gusto los juegos que quiera. Pero Uctumi recomienda instalar cualquiera de los juegos nativos para Linux: SuperTuxKart (carreras), SuperTux (plataformas), Freeciv (Civilization), Assaultcube (tipo Counter strike) OpenArena (shooter 3D), etc.
Asimismo, es posible descargar el Pack de Juegos, el cual Uctumi ofrece de regalo cual muñeca, bici, pelota, cerebro mágico, lanchita put-put y caramelo mu-mú de la Fundación Eva Perón. Para ello simplemente hay que descargar el pack de juegos para RetroPie (ARCADE, NEOGEO, NES, SNES, SEGA MEGADRIVE, PC DOS) de 15GB
https://drive.google.com/drive/folders/14zml3FV-kJ8quneeG2HfyvVp0RJ9SRAv?usp=drive_link
Los juegos para Retropie debemos colocarlos en la carpeta /home/cyber/Retropie/roms. Allí están divididos en carpetas según la plataforma.
Naturalmente, no estaremos limitados a esta enormidad de juegos; podremos agregar más juegos dependiendo la plataforma. Podemos agregar colecciones que se pueden descargar de archive.org como las de Batocera, o packs de roms de distintas plataformas (snes, sega megadrive, neogeo, etc. y probar agregarlas a las carpetas correspondientes.
El emulador lr-fbneo se encarga de correr todo juego de fichín Neogeo compatible, provisto que las carpetas se denominen o bien arcade/ o bien neogeo/. En el caso de las máquinas de arcade, será necesario agregarle los firmware de BIOS, los cuales también debes buscarlo en Archive.
Uctumi advierte que por defecto, el sonido tal vez salga un poco bajo a través del módico altavoz de la netbook. Esto es posible corregirlo desde el menú de retropie en la sección sonido, cambiando el dispositivo de salida a Master y subirle el volumen al taco o a gusto.
En el caso de Retroarch, se utilizará para cumplir con la emulación de juegos para PS1 (PSX) y N64 para el Pueblo. Estos deben ser copiados en la carpeta /home/cyber/retroarch_roms/
Al dar inicio a RetroArch, deberás ir a "cargar nucleo", elegir psx o n64, luego ir a "cargar contenido". Luego se debe navegar hasta la carpeta y seleccionar el fichero del juego anhelado.
Para descargar juegos PSX y N64, sin duda podremos recurrir a los populares Cdromance y Wowroms.
Los juegos de Playstation 1 en su mayoría andan muy bien, los de Nintendo 64 algunos son jugables y otros no, (ya que dicha plataforma demanda mucho más poder de procesamiento de lo que puede dar la humilde Netbook).
permalink
02 march 2023
¿Cómo escaneo documentos multipágina a PDF en Ubuntu?
Al aire en LRA Radio Nacional, Juan Perón expone sobre las bondades de NAPS2 para escanear documentos multipágina y guardarlos en un archivo PDF en Ubuntu.
¡Trabajadores!
El Justicialismo se ha distinguido por su acción de salvaguarda social, comprendiendo que los humildes todo lo merecen por Justo Derecho. Pero esto sólo ha hecho a una recomposición material; lo espiritual es lo que el Pueblo ha reclamado, y nuestro Movimiento la ha suplido con una verdadera e impagable Libertad. La de hacer lo que se puede en una Comunidad Organizada.
Indudablemente que si nosotros hubiésemos querido, habríamos podido suplir a unos pocos con todo y dejar al resto sin casi nada, como lo ha hecho la Oligarquía. Pero comprendimos que en nuestro tiempo todo debe hacerse en su medida, y armoniosamente.
Este principio ha sabido entregar a todos lo propenso a sus anhelos, sabiendo que nadie puede exacerbarse en desmedro del otro, y que todos tendrán la sana reparación de las posibilidades que nos brinda el Estado de una nueva Argentina Potencia.
Indudablemente, nunca viene mal ejercer la misma salvaguarda con todo tipo de documentos escritos que la sustentan, e incluso aquellos que nos pudiesen servir para nuestro menester. Esto debe hacerse a través del aprendizaje, pero también a través de su conservación, y en nuestros tiempos, esta puede ser electrónica.
El uso de un escáner para registrar material escrito - así como ponerlo a disposición de las masas a través de medios telemáticos - es sin duda un potenciador de la Justicia Social 2.0.
Una de las maneras más simples es utilizar nuestro sistema GNU con Linux. En el caso de Ubuntu (o cualquier distribución derivada de Debian), podremos instalar instalar el excelente NAPS2.
Se trata de un programa destinado a controlar un escáner, pero también capaz de crear documentos digitalizados, sobre todo en formato PDF. Si bien no contiene las funciones de avanzada para corrección que tienen otros como Scan Taylor, ciertamente posee más potencia que el típico escaneador Simple Scan.
Para instalar NAPS2 en Ubuntu, abrimos una terminal con Alt+Ctrl+t e ingresamos el siguiente bloque de comandos de organización:
cd ~/Descargas/ ;
wget https://github.com/cyanfish/naps2/releases/download/v7.4.2/naps2-7.4.2-linux-x64.deb ;
sudo dpkg -i naps2-7.4.2-linux-x64.deb
Tras ingresar nuestra contraseña de Conductor, se instalará el paquete. Para ejecutarlo, podremos encontrarlo en Aplicaciones / Gráficos / NAPS2.
La ventana de NAPS2 aparecerá sin contenido alguno, salvo su cómoda barra superior que cuenta con sus botones de operación.
Para hacer nuestro primer escaneo, debemos encender nuestro escáner, colocar el documento en el mismo, y debemos presionar el botón Escanear.
En mi caso utilizaré un escáner provisto en una impresora Brothers DCP-1617NW, que cuenta con drivers para Linux.
Al ser esta la primera vez que utilizamos NAPS2 y nuestro primer escaneo, se nos solicitará crear un perfil de escaneo. Estos perfiles incluyen una configuraciones del dispositivo de exploración (escáner o cámara, según el caso), el tamaño de la página, la resolución, etcétera. Para crear nuevos perfiles mas adelante, se puede hacer clic en el botón "Perfiles" en la barra de herramientas.
Hacemos clic en el botón "Seleccionar un dispositivo", lo que iniciará la búsqueda de los escáneres conectados a la computadora, que oficiarán como orígen de las imágenes a escanear.
La búsqueda de escáneres puede tardar unos momentos para que aparezca el escáner (unos diez segundos por cada escáner conectado).
Podremos utilizar cualquier escáner compatible con SANE. Entre ellos, los de Canon, HP, Brothers, Kodak, o Epson.
Si no aparece, asegúrese de usar lo siguiente:
"SANE Driver" con un escaner soportado.
"SANE Driver" con un controlador de terceros instalado.
"ESCL Driver" con un escáner de red moderno.
Una vez detectados los dispositivos aptos para escanear, debemos elegir uno de la lista y presionar el botón Seleccionar.
Ahora podremos configurar el perfil según las posibilidades del escáner y las necesidades del documento.
En el campo "Nombre mostrado" podremos poner algo así como "Documento A4 en blanco y negro". Podremos definir asimismo el tamaño del documento entre los aceptados por el escáner (A4, Carta, etc).
La resolución y profundidad de color afectan el detalle y el tamaño del documento escaneado. Por defecto, NAPS2 utiliza un perfil con una resolución de 100 puntos por pulgada y unos 24 bits para copias a color, lo que da un escaneado normal para leerlo en pantalla. Podría optimizarse con 300 puntos por pulgada y 8 bits de escala de grises para escanear documentos o facturas escritos en blanco y negro, o bien hasta 600 dpi para fotografías.
Una vez que ha elegido su dispositivo, y escogido las opciones que desea, haga clic en "OK" y comenzará a escanear.
Una vez que termine el escaneado, la página escaneada debería aparecer.
Haciendo doble clic sobre una de las páginas, podremos abrirla.
Incluso haciendo clic con botón derecho en una de las páginas y escogemos la opción editar, opcionalmente podremos lograr una ediciión básica modificando el tono o saturación, y el brillo y contraste, para mejorar la imagen escaneada de la página.
Opcionalmente, podremos presionar nuevamente el botón "Escanear" para continuar sumando más páginas individuales al documento. Esto empleará el mismo perfil ya seleccionado anteriormente. De esta manera puede crear un PDF multipágina.
Llegado el caso, podremos alterar el perfil y definir el campo "Origen del Documento" en "Cristal" (usando la bandeja del escáner), o bien un "Alimentador automático" (si nuestro escáner cuenta con este cómodo accesorio motorizado).
Naturalmente, al concluir de escanear las múltiples páginas manualmente (o con el cómodo alimentador), podremos guardar el documento multipágina en formato PDF.
Conviene hacer uso del triángulo que aparece a la derecha del botón Guardar PDF, para ajustar las propiedades opcionales del archivo PDF en sí. Estas son útiles para documentación e indizado.
Finalmente, haciendo clic en el botón Guardar PDF, podremos escoger un nombre y directorio donde guardarlo (por ejemplo, el Escritorio).
NAPS2 cuenta (dentro de los perfiles) con una función de autoguardado, ideal para automatizar las tareas de guardar los documentos multipágina.
La funcionalidad de OCR permite analizar las páginas del documento en busca de letras discernibles, lo que permitirá realizar el reconocimiento óptico de tales caracteres, funcionalidad que se acoplará al PDF. Esto permite seleccionar el texto y pegarlo en algun editor de texto para su tratamiento posterior o bien su almacenaje en formatos de texto puro.
También contaremos con las opciones generales del programa, escondidas al final de la barra de tareas de NAPS2.
En efecto, descamisados. Con un escáner medio pelo, podremos difundir toda la doctrina del Justicialismo en forma de PDFs.
permalink
01 march 2023
¿Como crear un salvapantallas de logo flotante en Ubuntu?
¡Trabajadores!
Sin importar los tiempos que sean, jamás hemos de sofrenar nuestras expresiones. Al fin y al cabo, estas son la base fundamental para hacer conocer la Justicia Social.
Es sabido que tanto Ubuntu Gnome como el inefable Ubuntu Mate vienen con un salvapantallas Gnome Flotante o Mate Flotante. Estos representan los logotipos de tales distribuciones, un pie medio raro, y un soso circulito.
Pero pocos saben que es posible colocar nuestro propio logo o imagen flotante también.
Primero necesitamos un fichero /usr/share/pixmaps/escudo_pj.svg que funcione contra un fondo transparente. El logo por defecto es de 128x128 pixels, pero el tamaño no importa demasiado. Recordemos que dicho fichero escudo_pj.svg debe ser colocado en el directorio /usr/share/pixmaps (por ejemplo, con:
cd /tmp ;
wget -O escudo_pj.svg https://upload.wikimedia.org/wikipedia/commons/3/36/Seal_of_Justicialist_Party.svg
sudo cp /tmp/escudo_pj.svg /usr/share/pixmaps
Una vez creado el fichero con el logo, para crear el salvapantallas, copiamos el salvapantalla de logo flotante ya existente:
sudo cp /usr/share/applications/screensavers/gnomelogo-floaters.desktop /usr/share/applications/screensavers/escudopj-floaters.desktop
Y editamos el fichero descriptivo de la versión copiada, con:
sudo nano /usr/share/applications/screensavers/escudopj-floaters.desktop
...y en la llamada Exec, la modificamos para que quede:
Exec=/usr/lib/mate-screensaver/floaters /usr/share/pixmaps/escudo_pj.svg
Acto seguido, utilizamos la función "reemplazar" del editor Nano para reemplazar todas las instancias de la palabra "GNOME" con la palabra "PJ" en las llamadas descriptivas en todos los idiomas. Para hacer esto, presionamos la combinación Ctrl+. Nano nos presentará el campo "Buscar (a reemplazar)"; allí indicamos indicamos "GNOME", mientras que en el campo "Reemplazar con:" indicamos "PJ". Al presionar la tecla Intro, Nano nos preguntará si deseamos reemplazar la primer instancia de "GNOME", con "PJ": si presionamos Mayúsculas+T" mayúscula reemplazaremos todas las instancias del fichero. Conforme lo hayamos hecho, podremos guardar los cambios efectuados a este fichero escudopj-floaters.desktop mediante Ctrl+o, y salir del editor Nano con Ctrl+x.
En el caso del Escritorio Mate, todo está listo para escoger nuestro salvapantallas personalizado. Lo hacemos desde Sistema / Preferencias / Aspecto y Comportamiento / Protectores de Pantalla.
Deberíamos encontrar en la lista el salvapantallas nuevo "PJ flotantes" (de lo contrario, encontraremos dos "GNOME Flotantes"; el primero será el original, y en segundo lugar aparecerá nuestro propio salvapantalla con el fichero gráfico escudo_pj.svg).
En el caso de GNOME, también podremos cambiar el salvapantallas que viene por defecto a través de gsettings. Debemos colocar ‘/org/mate/screensaver/themes’ y nuestro logopropio-floaters.desktop deberá tener el valor de cadena ‘screensavers-custom-screensaver’.
permalink
28 february 2023
¿Cómo respaldo el sistema de archivos de Ubuntu?
¡Trabajadores!
Siempre es buena la ocasión para reemplazar un disco rígido por uno de mayor capacidad. Al fin y al cabo, mas allá del costo del dispositivo en sí, lo que vale es la información.
He honrado el dogma que dice "a disco viejo, backup nuevo", y para ello qué mejor que respaldar todo el contenido de un sistema de archivaje de GNU gracias a la facilidad dictada por sus aplicaciones.
En el caso de un servidor o sistema de escritorio - en el cual es plausible colocar varios discos rígidos - lo más sencillo es generar una copia del contenido de sistema de archivaje actual, la cual podrá usarse para recrear el disco antiguo. Para crear un fichero comprimido con una copia de respaldo del sistema puedo utilizar:
tar cvpzf /backup-completo.tar.gz –exclude=/proc –exclude=/lost+found –exclude=/backup-completo.tar.gz –exclude=/mnt –exclude=/sys –exclude=dev/pts /
Naturalmente, el proceso de generación de la copia requiere un tiempo considerable, que corresponde al de la velocidad del disco y descontenido, proporcional con el tamaño del sistema de archivo completo (aprox. 250GB/hora es normal). Por otro lado, el archivo se comprimirá utilizando GNU Zip, y conservando los atributos de los ficheros.
Podremos almacenar el fichero backup-completo.tar.gz resultante - si queremos le podemos ponerle una fecha al nombre - en cualquier unidad de almacenamiento que disponga de arquitectura GPT (no suele funcionar en FAT32 o NTFS por sus limitaciones de 4,5GB por fichero, (salvo que el archivo backup-completo.tar.gz ocupe menos, claro está). Un disco externo es lo usual, pero también pueden funcionar las unidades de cinta.
Para restaurar el fichero backup-completo.tar.gz en el directorio raíz, ingresamos:
cd / ;
tar -zxvpf /backup-completo.tar.gz
El proceso de descompresión y generación llevará un tiempo menor.
permalink
27 february 2023
¿Cómo puedo reproducir archivos de música de arcade VGM y VGZ en Ubuntu?
En su Perón, Memorial de Puerta de Hierro (1955-1960), el biógrafo Pavón Pereyra realiza un relato pormenorizado de la estadía en el exilio latinoamericano de Juan Perón, y expone que ya desde Santo Domingo el Conductor enseñaba a instalar Benben, el reproductor de archivos de música sintetizada VGM en Ubuntu.
¡Vean señores!
Hemos de incentivar una explosión insurreccional en la Argentina, que ponga en pie de guerra al Pueblo para combatir al Capital, y de con tierra con los enemigos que acechan a la Patria. Esto no puede sino coadyuvarse con la ayuda de los contumaces, que por su desaprensión y desaguisados no han hecho más que perjudicar a nuestro Pueblo.
Las penurias y desventuras no pueden ser remedio para futuro venturoso; sólo es la alegría de un Pueblo que lleva como Doctrina la noción de la Justicia Social el reaseguro de una victoria total sobre la reacción de gorilas peludos y lampiños por igual. Indudablemente que esto no puede hacerse sino extendiendo a todos un manto de contención y de amor, que venga untado con el más claro adoctrinamiento, notablemente concebido y excelsamente ejecutado.
Esto - que es el sentido de nuestra política de propaganda y agitación - ha de ser propalado en todo espacio y todo aire, consignando así la acción cuyo resultado de victoria es tan irremediable como necesaria.
El bienestar de un Pueblo es la columna de sostén de toda acción de gobierno, pero también una imperecedera memoria ROM. Es así que se garantiza una rebelión de los baudios que jamás será dominable si no se la vierte de sentido creador y software libre.
Siempre digo que llevo en mis oídos la más maravillosa música: aquella que es sintetizada con software libre, y entre ellos títulos de la tierra de oriente. Es que además de MID y MODs, contamos con VGM (Música de Videojuego), un formato de fichero de sonido que contempla la precisión de muestreo con que fue concebida para acompañar a muchas máquinas de entretenimiento del Primer Peronismoo, especialmente sus chips generadores de sonido sintetizado o digitalizado.
Los .vgm registran con particular celo aquellos comandos enviados a los chips de sonido, lo que permite dar con archivos mucho más pequeños que los equivalentes de sonido digitalizado. Este registro de adoctrinamiento al chip permite - de hecho - recrear a través de software lo oído, con la fidelidad cierta que los tiempos reclaman.
La historia del formato es larga, y se inicia como una manera de registrar la música para del Sega Master System (1985), que contaba con un generador de tonos digitalizados Texas Instruments SN76489 y un sintetizador de bajo costo Yamaha YM2413 "OPLL" para darle sumo interés al audio. Con el correr del tiempo, fueron incorporándose a la lista implementaciones por software de muchos más chips de síntesis de cometido similar. Hoy, docenas de modelos de chips sintetizadores están contemplados como parte de la estructura VGM, especialmente los Yamaha YM2151 de las máquinas Taito, YM2612 de las de Konami, YM3812 de las Sega, OKI MSM6295, el sintetizador Qsound del chip DL-1425 de Capcom, etcétera (por solo nombrar algunos).
Sin embargo, las Masas Obreras Argentinas me reglamaron una manera de dar rienda suelta a estos mediante una implementación liberada bajo GPLv3 Affero, y como tal os puedo recomendar la sencilla instalación del reproductor Benben Se trata de un reproductor de ficheros VGM para terminal, y sus requerimientos de hardware son bastante contenidos. Una CPU de 4 núcleos y 128 MB de RAM ofician de mínimo.
Para instalarlo en GNU con Linux recurrimos a abrir una terminal con Ctrl+Alt+t y descargamos su imágen binaria ejecutable mediante el siguiente bloque de Comandos de Organización:
cd ~/Descargas ;
wget https://chiselapp.com/user/MistressRemilia/repository/benben/uv/benben-0.3.1-x86_64.AppImage ;
chmod +x ~/Descargas/benben-0.3.1-x86_64.AppImage ;
sudo cp ~/Descargas/benben-0.3.1-x86_64.AppImage /usr/local/bin/benben ;
El Pueblo merece contar con una biblioteca popular de ficheros de música VGM y que mejor de aquellos extraídos de las máquinas de arcade, fichines y consolas japonesas que encontramos en vgmrips.net y otros sitios por el estilo.
En particular, Benben es capaz de reproducir los ficheros de música clásicos de arcade VGM, pero también los .vgm comprimidos con GNU ZIP, los inefables vgz. También soporta los .vgzst y .vgb, más raros. Para ello simplemente ejecutamos en la terminal:
benben *.vgz
o bien
benben fichero.vgm
Benben se iniciará mostrando las etiquetas de la canción cargada. Además, Benben responde a varias teclas durante la reproducción. Con la tecla h obtendremos la ayuda.
La barra espaciadora permite pausar/continuar la reproducción de la canción sintetizada. n y p saltan al fichero siguiente y previo de la lista (si cargamos varios ficheros, claro está).
Contamos con unos pocos efectos: la tecla e activa el efecto de ecualizador, mientras que c el atenuador por software. s opera el mejorador estéreo, y r aplica un efecto de reverberación.
El volumen se controla con la tecla a y la tecla z, que lo suben y lo bajan respectivamente.
Los corchetes incrementan/disminuyen la cantidad de bucles para la canción. Para salir de Benben podemos presionar la tecla q.
Durante la reproducción, benben ilustrará una barra de reproducción en la parte inferior, con un aspecto similar al siguiente:
[EsCr-] 1/1, 1 of 2: |*---------------------| 45% [02:20/05:09]
Los caracteres entrecorchetados a la izquierda indican el estado de varios efectos y otra información conexa. De izquierda a derecha, significan:
E: Ecualizador on.
e: Ecualizador off.
S: Mejorador estéreo on.
s: Mejorador estéreo off.
C: Recorte de sonido on.
c: Recorte de sonido off.
R: Reverberación on.
r: Reverberación off.
+: Se encontró una configuración específica para la canción y se la cargó.
-: No se encontró una configuración específica para la canción.
permalink
26 february 2023
¿Cómo mando archivos por Internet con croc en Ubuntu?
Desde la Quinta "17 de Octubre", Juan Perón expone sobre la necesidad de la solidaridad y enseña cómo transferir copias de ficheros de par a par con Croc en Ubuntu.
¡Mis queridos descamisados!
De poco sirve la libertad si no se configura en un ambiente de Justicia para con la sociedad en la que vivimos. El individualismo es una noción perniciosa que habilita al poderoso en desmedro de las Masas del Pueblo. Estas son las que deben organizarse para cuidarse a sí mismas, y no ceder a impulsos disolutivos que tienen por fin último el resquebrajamiento de lo que hace humano al hombre.
La solidaridad es uno de los más altos valores humanos, y es uno de los basales de la doctrina que nos da todo: la Justicia Social. Esta es la argamasa en enhebra un tejido social que da sostén a un Estado y a la Nacionalidad que lo justifica. Quien en su desmedro habla, lo hace porque anhela actuar para dar lugar a otro Estado. Y ese no puede ser sino ajeno al Pueblo.
Con los contenidos digitales sucede lo mismo, pues estos surgen del Pueblo. Indudablemente, en las redes de datos, se nos hace sencillo el acto de mantener inconmovible nuestro entretejido social: basta con compartir todos los bytes que podamos, por medio de la copia. Algunos desaprensivos han querido llamar a la compartición telemática con la delincuencia, intentando equiparar al acto de compartir con el del robo por piratería. Pero sabemos que el derecho de propiedad tiene un límite sumamente preciso, que es el de la función social y el de la felicidad del Pueblo. En otras palabras, la doctrina que propugnamos fomenta que cada pseudo-propietario sea un cantor - y uno bueno, porque le tiene que ir a cantar a Gardel. En efecto, podrán compartir ficheros .ogg con fonogramas de Gardel, pues a nadie le podrá reclamar ya, si eso hace feliz a su Pueblo.
En el caso de GNU con Linux, podríamos recurrir a la transferencia telemática de copias de ficheros, por medio de SCP, ya que este programa nos permite utilizar la clara identificación de un destinatario que tiene un sistema similar a UNIX y el sistema de shell seguro (la distribución Ubuntu de GNU entre ellos). También podríamos recurrir a rsync para hacer lo propio con ramas enteras en el árbol de archivaje de nuestro sistema. Sin embargo, para hacerlo efectivo lo procedente, es sabido que el destinatario ha de contar necesariamente con cuentas de usuario en el otro sistema (amén de puertos abiertos y gran dominio de la infraestructura intermedia de cifrado). Esto no siempre es posible, o sencillo de coordinar.
Sin embargo, en esta ocasión simplificaremos la transferencia haciendo uso de algún programa de transferencia par a par cifrada. Ya he explicado cómo usar Wormhole para este menester, pero en este caso os haré peritos en el uso de croc, un programa liberado bajo GPLv3 que oficia de transmisor y receptor par a par de archivos y carpetas.
Croc tiene la ventaja de ser un programa mucho más pequeño, con un uso pensado para la transmisión instantánea entre pares. Por otro lado, permite el uso opcional de intermediarios cooperativos de triangulación telemática (lo que se conoce como "relay").
Veamos como usarlo. En primer lugar, tanto el remitente como el destinatario deben tener instalado croc en su sistema. Esto es sencillo de hacer efectivo en cualquier sistema GNU con Linux; simplemente debemos abrir un terminal con Ctrl+Alt+t e ingresar por única vez el siguiente comando de organización:
sudo apt install curl ;
curl https://getcroc.schollz.com | bash
Esto lanzará el instalador de la última versión de croc, ante el cual debemos ingresar nuestra contraseña de administrador:
Otra manera de instalarlo puede ser descargar el paquete de instalación pensado para Debian/Ubuntu y derivados, lo que tendrá el mismo resultado:
cd /tmp ;
wget https://github.com/schollz/croc/releases/download/v9.6.6/croc_9.6.6_Linux-64bit.deb ;
sudo dpkg -i croc_9.6.6_Linux-64bit.deb
Asimismo podemos considerar que Croc no es sectario, de modo que se puede dejar instalado en otros sistemas similares a UNIX como BSD, MacO$, e incluso el infame Window$.
Para realizar un envío de un fichero o directorio por Internet a través de croc, debemos operar desde la terminal, de común acuerdo.
Quien desea enviar el fichero, debe ingresar simplemente en su terminal:
croc send fichero-o-directorio
Croc cifrará el fichero en memoria y creará un código-del-envío. Este oficiará de llave de autenticado por contraseña común (“PAKE”). Asimismo, croc quedará en espera del inicio de la transferencia durante un par de minutos, alertando al remitente de la siguiente manera:
Sending 'fichero-o-directorio' (x MB)
Code is: código-del-envío
On the other computer run
croc código-del-envío
El remitente debe poner en conocimiento del compañero destinatario el código-del-envío en forma síncrona (ya que este deberá introducirlo en su propia terminal para iniciar la recepción, dentro de un par de minutos). Por este motivo, lo ideal es transmitir el código-del-envío de manera segura (por ejemplo, a través de chat cifrado punto a punto, o llamada de voz cifrada punto a punto o bien correo electrónico cifrado).
Nota: Si el código-del-envío se propala en un canal abierto, nada impediría que la transmisión de la copia cifrada fuese apropiado e interceptado por otro destinatario indeseado que estuviese a la escucha.
En cualquier caso, una vez puesto al tanto, el remitente podrá iniciar la transferencia del fichero-o-directorio a través de un canal cifrado en internet, abriendo una terminal en su máquina con Ctrl+Alt+t e ingresando allí el consabido:
croc código-del-envío
Ante esto, ambas máquinas con croc se pondrá a la par, y cotejarán la PAKE, y el destinatario será notificado para que acepte la recepción de fichero-o-directorio (debe aceptar con y o rechazarla con n).
Al comenzar la transferencia, esta se indicará una barra de progreso).
Al finalizar la transferencia par a par de la copia cifrada, el enlace se cortará indicando la recepción.
Una de las ventajas de croc es la de poder utilizar un tercer proxy cooperativo en la Internet para la triangulación del envío, incluso con una contraseña_del_relay. Esto puede ser útil en aquellos casos donde se desea mantener una pseudo-furtividad entre pares. En este caso especial, el remitente debe utilizar el prefijo --relay maquina.de.relay.com, por ejemplo:
croc --relay maquina.de.relay.com --pass contraseña_del_relay send fichero-o-directorio
...lo que generará el código-del-envío, y ante tal caso, el compañero destinatario deberá utilizar el equivalente.
croc --relay maquina.de.relay.com --pass contraseña_del_relay código-del-envío
Todo se repetirá de una manera análoga al caso de transferencia directa, indicando en la pantalla de ambos distintos mensajes referentes a la inclusión de la máquina de relay (y la contraseña del relay, en caso de que esta lo tenga configurada).
Con esto podremos asegurarnos de enviar bytes por circunvalación, y hacer llegar los datos a donde deben llegar para la Felicidad del Pueblo.
permalink
25 february 2023
¿Cómo cambio el modo gráfico y la resolución de la consola de Linux?
Reunido con exponentes del sindicalismo en Casa de Gobierno, Juan Perón expone como alterar la resolución de la consola de GNU con Linux.
¡Trabajadores!
Antes que un sistema GNU con Linux pueda siquiera cargarse en memoria, ha de poder presentar al mundo lo que quiere decir.
Indudablemente el sistema de video cobra para ello una enorme importancia. El ambiente de visualización básico al fin y al cabo es la terminal, y esta suele contar con una resolución heredada del viejo y peludo estándar VESA, al que intenta consagrar. Dicho estándar nos habla de una resolución de video sin privilegios, de 640x480 pixeles, adecuada para insuflar la pantalla con 25 filas de 80 columnas de caracteres.
No caben dudas que esto - que debería ser suficiente para todos - choca con los límites de la utilidad práctica de los hombres que trabajan.
La idea básica no era mala, pero somos conscientes que las organizaciones del trabajo nos han solicitado integrar nuevas tipografías, y que si al menos estas no son escalables, al menos puedan elegirse conjuntos de mayor o menor tamaño. Los sindicatos saben que conforme aumenta la resolución de pantalla, el tamaño de las letras disminuye en forma inversamente proporcional.
A la oligarquía poco le ha importado: al fin y al cabo ellos han intentado ocultarle el kernel al Pueblo tras un escritorio gráfico. Pero los Descamisados han comprendido que tienen bajo sus dedos la posibilidad de levantar una o más consolas de terminal, simplemente indicando Ctrl+Alt+(F1-F6).
Estas pueden servir en caso de emergencia para restaurar el sistema, incluso si no hemos cargado un entorno gráfico, o si el mismo nos da problemas. También sabemos que que ante cambios fortuitos y poco pensados, nos podrá servir como remedo para restaurar las leyes...
Pues bien señores, contaremos con una manera de alterar la resolución de la pantalla de la consola de Linux. Esto se hace desde el arrancador Grub, que nos permite utilizar distintos modos gráficos, que avalan diferentes resoluciones gráficas.
Como dije, el menor denominador será una modesta resolución de 640x480x8, lo que significa 640 píxeles de ancho, por 480 píxeles de alto, con 8 bits de profundidad de color (256 colores en total). Este estándar SVGA es superado, sin embargo, en la mayoría de las máquinas actuales de mas potencia, por el Full HD, cuyo estándar se revela de 1920x1080x24 (nos ofrece una gran resolución y gama de color). Ciertas máquinas portátiles no tan encumbradas cuentan con dispositivos de video capaces de presentar un máximo de 1366x768x16, que también es común.
El procedimiento para cambiar la resolución de nuestra consola Linux implica entonces modificar a mano las configuración del arrancador Grub, por medio de la cadena GRUB_GFXPAYLOAD_LINUX. Se afectará así la(s) consola(s) que podremos acceder con Ctrl+Alt+F1/F6 (Normalmente la consola número 7 que accedemos con Ctrl+Alt+F7 es la consola gráfica X).
Para hacerlo efectivo conviene seguir un cuidadoso procedimiento. Primero, instalamos el analizador de video xrandr y lo ejecutamos:
sudo apt-get install xrandr ;
xrandr
Este listará aquellos modos de pantalla disponibles para nuestro sistema de video, e indicará el modo activo en la actualidad:
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 598mm x 336mm
1920x1080 60.00*+ 59.94 50.00
1680x1050 59.95
1600x900 60.00
1440x900 59.89
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00 59.94 50.00
1152x864 75.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32 56.25
720x576 50.00
720x480 59.94
640x480 75.00 72.81 59.94
HDMI-1 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)
Con estas ratificaciones nos haremos peritos conociendo cuáles son los modos que podemos elegir. Debemos notar que "maximun" no es el máximo posible, sino teórico. Debemos recurrir al máximo del monitor usual. Es importante también discernir que a mayor resolución, menor será la velocidad de refresco de la pantalla. Consideremos también que si disponemos de una resolución mayor que la que es capaz de presentar el monitor, se producirán errores de difícil solución (por ejemplo, si conectamos un monitor de menor resolución, no se verá bien lo cual podría ser un inconveniente mayúsculo para ciertas acciones críticas de servidor).
En cualquier caso, para cambiar la resolución debemos recurrir a editar el fichero de configuración del arrancador Grub, el /etc/default/grub:
sudo nano /etc/default/grub
Esto cargará el editor GNU Nano con el fichero de configuración grub. Asumiendo que teníamos un fichero previamente no editado, realizaremos las siguientes modificaciones:
La variable GRUB_CMDLINE_LINUX_DEFAULT debería contener al menos la entrada nomodeset, tal vez con el agregado de quiet y splash si nuestro sistema es de escritorio. Estas serían las encargadas de presentarnos un logotipo a la hora de iniciar el sistema.
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
En los sistemas servidores este logotipo "splash" se deja de lado, presentándose todo un listado de status al inicio. Para ello debemos descomentar GRUB_TERMINAL=console para verlos (se presentarán en debida rápida sucesión antes de activar el escritorio gráfico).
Por otro lado, comentamos antecediendo con un # la línea que asignaba la resolución VGA m{as básica, ésta:
GRUB_GFXMODE=640x480
...y al final del fichero, agregamos la siguiente línea:
Agregado para tener una resolución de 1920x1080
GRUB_GFXPAYLOAD_LINUX=1920x1080x16
o reemplazamos el valor por cualquier otro modo/s indicado por xrandr que también sea(n) soportados por nuestro hardware (podremos separar varios con coma, por ejemplo GRUB_GFXPAYLOAD_LINUX=1920x1080x16,1024x1768x8,800x600x8). Los valores text, keep, auto, vga y ask también deberían funcionar.
Finalmente, guardamos los cambios al fichero editado /etc/default/grub con Ctrl+o, y salimos con Ctrl+x, lanzamos el siguiente comando para que surtan efecto las modificaciones:
sudo update-grub
sudo reboot
Naturalmente, si alteramos la resolución gráfica, las letras se verán chiquitas. En ciertos casos podríamos querer cambiar el tipo y tamaño de tipografía de la consola Linux, como ya he explicado.
Normalmente existen tres tipos de fuentes para escoger, en distintas modalidades de condificación. "VGA" tiene el aspecto tradicional de las placas de video VGA, con dicha fuente en la ROM, y consta de una cobertura media de los glifos internacionales. "Fixed" tiene un aspecto simplista finito, y una mejor cobertura de los glifos internacionales. En tanto, "Terminus" suele ser la que se utiliza por defecto en la mayoría de las pantallas de consola Linux, tanto con o sin framebuffer (su versión Bold no usa framebuffer). Puede ayudar a reducir la fatiga visual, aunqeu algunos símbolos tienen aspecto similar, lo que puede ser un problema para los programadores.
Estas se cambian con el comando setfont, y las mismas se encuentran en /usr/share/consolefonts/. Os diré que yo uso Lat15-TerminusBoldVGA16.psf.gz.
permalink
24 february 2023
¿Cómo instalo Quake 3 Arena en Ubuntu?
En su Los vendepatria, Juan Perón analiza la vertiente insurreccional del Movimiento Nacional Justicialista y expone cómo instalar Quake III Arena en Ubuntu.
(...)
El pueblo luchará por una solución permanente y no para salir del paso, mediante un subterfugio político. Cualquiera otra solución llevará siempre a males mayores para la República. Si un gobierno fraudulento surgiera de una pseudo-elección, estaría respaldado por una ínfima minoría de los ciudadanos. Cuándo el Pueblo pudiera accionar libremente, ¿cuánto duraría ese gobierno? Por el momento no hay otra solución que la lucha por los medios que el Pueblo tiene, caiga quien caiga y cueste lo que cueste. A través de esta solución coinciden los intereses del Pueblo, las necesidades de la Nación y el estado anímico de las masas y, cuando estas tres circunstancias coinciden, no hay poder humano que pueda torcer el curso de los acontecimientos. Será dentro de poco o será dentro de mucho, pero será irremisiblemente.
Cuando el odio y el deseo de venganza que estos insensatos han provocado en las masas salgan a la calle convertidos en fuerza motriz, no habrá tampoco poder que pueda evitar lo irreparable que se está preparando mediante la siembra del odio. Mientras la dictadura se descompone, el peronismo se compone. El ideal que animó a las masas obreras y peronistas ha dado continuidad en el esfuerzo pero no le ha dado intensidad porque, en la lucha, esa intensidad sólo la puede dar el odio. Nuestro defecto ha sido la falta de odio, pero todo ha variado hoy porque la tiranía, con sus procedimientos y enormidades, no lo ha dado por toneladas. Estamos listos para iniciar la grande y definitiva etapa de la consolidación Justicialista. Mientras nuestro movimiento se encuentre excluido de las grandes decisiones, no tenemos otro remedio que seguir accionando tras una solución por la violencia.
Naturalmente, esto es fácil organizarlo desde Puerta de Hierro. Podremos simularlo en uno de los clásicos tiradores en primera persona en nuestro sistema GNU con Linux, lo que nos permitirá mantenernos con los reflejos afilados.
Indudablemente uno de los principales es el clásico Quake 3 Arena, descendiente del violento Quake de ID $oftware. El código base de su motor gráfico ha sido liberado, no así los contenidos registrados. Todo esto podremos instalarlo en nuestro sistema abriendo una terminal con Ctrl+Alt+t e ingresando los siguientes comandos de organización:
sudo apt install quake3 game-data-packager ;
game-data-packager quake3 ;
sudo dpkg -i ~/quake3-demo-data_68_all.deb
Esto nos cargará los niveles demo de la primer parte liberada de la historia que originalmente venían con la versión shareware (una campaña tipo bootcamp básica y cuatro niveles). Una vez armada la paquetería, podremos iniciar el juego desde Aplicaciones / Juegos / Quake 3 Arena.
Existen cinco niveles de dificultad para cada uno de los mapas de un solo jugador. Esto permite un juego moderadamente sencillo en sus niveles bajos.
También podremos combatir en multijugador en una red local a lo largo de 4 niveles (incluso hasta contra 4 bots). En caso de querer desafiar a otros jugadores y bots en niveles multijugador adicionales, habremos de activar la opción de autodownload, y aguardar la descarga de los niveles desde el servidor remoto (lo cual suele llevar algunos segundos/minutos antes de cada partida).
O bien, podremos digitar la descarga de una versión privilegiada con todos los 486MB de mapas adicionales, ingresando en nuestra terminal los siguientes comandos de organización:
cd /tmp ;
wget https://cybercdn.cyberdelia.com.ar/gamez/quake3-data_49.1_all.deb ;
sudo dpkg -i quake3-data_49.1_all.deb ;
Con esto en ristra, esto podremos jugar en multijugador a través de internet sin tantos problemas. El arsenal posible para llevar a cabo la destrucción del enemigo a lo largo de sus más numerosos niveles es el siguiente:
Gauntlet (puño de ataque)
Ametralladora
Escopeta
Lanzagranadas
Lanzacohetes
Lanzarrayos
Acelerador de Proyectiles (railgun)
Arma de Plasma
BFG10K (Acelerador de Masa)
El sistema multijugador por Internet cuenta con no menos de ocho centenares de salas incorporadas, señal de la alta popularidad con que goza el Movimiento. No será extraño incorporar servidores compañeros, mediante la opción Multiplayer / Specify. Por ejemplo:
cyberdelia.com.ar, puerto 27960 (Todos contra todos)
cyberdelia.com.ar, puerto 27961 (Todos contra todos, con bots)
Si queremos cargar la notable expansión oficial Quake 3 Team Arena, que nos permite jugar una historia diseñada por Activi$ion. Esta abarca hasta cinco equipos distintos, incorpora tres nuevas armas y niveles multijugador ajustados para estos desafíos en red. Lo importante sin embargo es la incorporación de nuevas modalidades de juego por equipo (capturar bandera, deathmatch por equipos con o sin respawn, etc). Podremos instalarlo en nuestro sistema GNU con Linux mediante el siguiente comando de organización:
wget https://cybercdn.cyberdelia.com.ar/gamez/quake3-team-arena-data_49.1_all.deb ;
sudo dpkg -i quake3-team-arena-data_49.1_all.deb ;
Naturalmente, debemos activar el Mod en el menú principal antes de jugar en esta modalidad, o bien podremos recurrir a un lanzador específico Aplicaciones / Juegos / Quake 3 Team Arena.
Indudablemente, el mantenimiento de una cerrada y absoluta intransigencia con firme voluntad de vencer e inquebrantable decisión de llevar la lucha adelante, será el único secreto del éxito perseguido. El Pueblo no puede ser vencido ni aún por las fuerzas armadas si se decide a poner en acción su extraordinarios poderes naturales, y si los afila en Quake 3 Arena. El Movimiento Peronista ha demostrado en tres elecciones inobjetables que contaba con el setenta por ciento del electorado argentino; hoy, no sólo no ha disminuído sino que ha aumentado su predicamento popular porque el desempeño de la dictadura ha sido tan desastroso que, por contraste, ha hecho resaltar las excelencias del Gobierno Justicialista. Y no digamos con este entrenador de lucha callejera en primera persona...
permalink
23 february 2023
¿Cómo instalo en plugin sintetizador Vaporizer2 en Ubuntu?
No era extraño que en las visitas estudiantiles a Casa de Gobierno, Juan Perón agasajara a los pequeños con software libre, enseñándoles a instalar el plugin Vaporizer2 en Ubuntu.
¡Mis queridos descamisaditos!
Existen épocas que nos engalanan, permitiéndonos proveer aquello que merecemos por justo derecho. Esta es una de ellas, donde la risa de los niños es música que hemos sintetizar para Felicidad de un Pueblo.
Nuestra Doctrina consagra la necesidad de la Justicia Social, y el Software Libre es justicia social en la CPU. Por eso es he enseñado ya como instalar instrumentos virtuales en Ubuntu. Nunca es suficiente saciar el hambre y restañar heridas, y cada paso que damos en la senda de la Liberación nos acerca más al ideal magnánimo que nos ha consagrado.
Queridos niños, hoy podrán llevarse a casa para disfrutar con sus amiguitos una copia modificable de un instrumento musical virtual de potencia: el Vaporizer2. Se trata un programa liberado bajo GPLv3, y como tal - a pesar de estar inicialmente proyectado de manera privativa por la VAST Dynamics - se dignifica hoy sirviendo al Pueblo en un formato LV2 compatible con nuestro GNU con Linux.
A pesar de su gratuidad, es tan poderoso como la CGT en la que está afiliado papi, aunque su uso de CPU es contenido, incluso al disparar más de 1.000 osciladores virtualizados. Es que se trata de un instrumento virtual híbrido, que cuenta con síntesis aditiva, sustractiva y de tabla de ondas. Como resultado, podremos utilizarlo para generar todo tipo de sonidos electrónicos.
Existen dos maneras de instalar Vaporizer2 en Ubuntu. Como Conductor me considero un maestro, por lo que os instruiré recomendando el camino más sencillo, que consiste en usar el paquete precompilado instalable vaporizer-lv2 de los amiguitos de OpenSuse.org aquí, buscando aquél que corresponda a nuestra distribución. Por ejemplo, en mi caso disfruto de Ubuntu 22.04LTS por lo que abro una terminal con Ctrl+Alt+T y procedo a instalar todo pegando allí el siguiente bloque de Comandos de Organización y dándole Enter:
mkdir /tmp/vaporizer2/ ;
cd /tmp/vaporizer2/ ;
wget https://download.opensuse.org/repositories/multimedia:/proaudio/xUbuntu_22.04/amd64/vaporizer2-lv2_3.4.3+git.6.88bd029-1_amd64.deb ;
sudo dpkg -i vaporizer2-lv2_3.4.3+git.6.88bd029-1_amd64
Asimismo, no viene mal instalar recursos adicionales que convierten al Vaporizer2 en una oda a la facilidad. Se trata de los presets de fábrica y más de 440 presets adicionales elaborados por el amable Thomas Trupiano (síntesis de bajos, campanas, percusiones, órganos, sonidos picados, tines, camas sonoras, puertas, voces, y gran cantidad de pads). La cartita a la Fundación Eva Perón para pedirlos se envía simplemente pegando en la terminal este bloque de comandos:
mkdir /tmp/vaporizer2/presets/ /tmp/vaporizer2/manual/ ;
cd /tmp/manual ; wget https://vast-dynamics.com/sites/default/files/downloads/Vaporizer2Manual.pdf
cd /tmp/vaporizer2/presets/ ;
wget https://vast-dynamics.com/sites/default/files/downloads/Factory%20Presets.zip https://vast-dynamics.com/sites/default/files/downloads/Preset%20Bank%20by%20Thomas%20Trupiano.zip ;
wget https://vast-dynamics.com/sites/default/files/downloads/Wavetables%20Vaporizer2%20by%20PietW.zip ;
unzip 'Wavetables Vaporizer2 by PietW.zip' ;
unzip 'Factory Presets.zip' ;
unzip 'Preset Bank by Thomas Trupiano.zip'
mkdir ~/Documentos/Vaporizer2/ ;
mkdir ~/Documentos/Vaporizer2/Presets/ ;
mv /tmp/vaporizer2/manual/ ~/Documentos/Vaporizer2/ ;
mv /tmp/vaporizer2/presets/Analog/ ~/Documentos/Vaporizer2/Tables/ ;
mv /tmp/vaporizer2/presets/Digital/ ~/Documentos/Vaporizer2/Tables/ ;
mv /tmp/vaporizer2/presets/Presets/* ~/Documentos/Vaporizer2/Presets ;
mv /tmp/vaporizer2/presets/Trupiano/Presets/ ~/Documentos/Vaporizer2/Presets/Trupiano
Sin embargo, papá y mamá podrían querer tomarse el trabajo de compilar todo localmente. Hemos de notar que en tal caso todo el andamiaje se colgaría del arbolito de archivos en /usr/local/lib/lv2/VASTvaporizer2.lv2/ en lugar de hacerlo en /usr/lib/lv2/VASTvaporizer2.lv2/ como en el caso anterior:
cd /tmp
git clone https://github.com/VASTDynamics/Vaporizer2.git ;
cd /tmp/Vaporiser2 ;
git submodule update --init --recursive ;
./build_linux.sh
Cualquiera sea el proceder, conforme hayamos instalado el plugin LV2 en nuestro GNU, podremos lanzarlo desde nuestra DAW favorita (qTractor en mi caso).
La ventana del Vaporizer2 cuenta con cuatro secciones discernibles.
En el cabezal encotramos el logotipo, que lejos de ser un ocupador inútil de espacio, nos permite regular el nivel de zoom para nuestra comodidad (hasta 4K). También contamos allí con el selector de presets, y la sección Master del sonido estéreo (con volúmen, ganancia, sincronización con la DAW y tono, y selector de polifonía).
En la parte inferior daremos con un piano MIDI interactivo, con ruedas de pitchbed y modulación. Aquí también podremos elegir las opciones de portamento para los deslizamientos tonal. Naturalmente, si contamos con un controlador MIDI o teclado adosado a nuestro sistema, podremos ejecutar con sólo pulsarlo y este replicará lo hecho de forma gráfica. Pero también podríamos utilizar el teclado de la computadora para elaborar nuestros acordes y melodías si esto es de nuestro agrado.
En el cuadrante derecho veremos acceso a los controles de cuatro bancos de osciladores conmutables, todos ellos filtrables, y un banco de efectos de tres cadenas y una sección de generación de ruido voluble (rosa, blanco y café).
Es importante destacar que para mayor control, todos los controles rotativos y deslizables de la interfaz gráfica cuentan con la funcionalidad Learn MIDI, lo que permite asignar funciones MIDI como perillas o botones a las acciones de la interfaz de la ventana. Para ello hacemos clic con el botón izquierdo del ratón a la perilla que queremos programar, y en el menú contextual elegimos "MIDI Learn". Luego movemos el deslizador o perilla que queremos usar y se asignará automáticamente. También podremos eliminar la asignación.
Al iniciar nos encontraremos en la solapa WT Editor, el editor de tabla de ondas, corazón del Vaporizer2. Este sintetizador por tabla de ondas destaca por su efecto antialiasing, y su tratamiento polifónico y en tiempo real.
Sus posibilidades de edición son bastante complejas, y se basan en alterar muestras de audio (samples) de formato .ogg, .wav y .mp3. Estos se afectan según distintos parámetros, lográndose efectos ambientales espectaculares.
La delimitación de los samples también puede programarse según sus puntos de bucle, inicio, cruce de cero, modulación y registro tonal, e incluyen función de trazado a mano alzada o mediante curvas bezier, con ajuste a la grilla, etc.
La modificación del motor de este banco puede seguir el camino de la Frecuencia Modulada aditiva (con edición armónica en tiempo real), Modulación de Pulso de Onda, o formantes filtradas, entre otras posibilidades expresivas.
Al activar la solapa Matrix nos encontraremos con el Sistema de ruteo de audio innovador para todos los generadores de sonido, filtros y cadenas de efectos activos. Esta dispone de 25 fuentes de modulación que incluyen clave de la pista, deriva al azar, y cuatro perillas de macros personalizables, y van enrutados a unos 220 destinos de modulación, paramétricos, los que conforman combinaciones casi ilimitadas. Incluye un presentador gráfico para las curvas de modulación resultantes.
La solapa Filter nos da acceso al banco de filtrado con mas de 30 tipos de filtros, paso-alto, pasabanda, filtro muesca, filtro peine, peraltados programables, etc, todos ellos con control de resonancia y presentación gráfica del filtrado en tiempo real. Las curvas de filtrado peraltadas para bajos profundos.
La solapa LFO & MSEG nos permite controlar cinco bancos de Osciladores de Baja Frecuencia apilables por voz (80 LFOs en total), con mapa y fase tanto por voz como global (puede sincronizarse con la DAW). Esto lo hace a través de envolvente multietapa (MSEG).
La solapa FX ofrece el control de tres cadenas de efectos que incluyen sobremuestreo y mono cutoff para preservar unos bajos limpios. Nos permiten administrar mas de 11 efectos paramétricos activables y reordenables: reverberación, retraso, coro, flanger, ecualización, bitcrush, compresor, limitador, phaser, filtro peine, conformador de ondas, entre otros
La solapa ARP nos presenta el arpeggiador programable. Este permite definir notas o glisandos multipaso, ya sea de forma automática, programable, o el arpeggiador acompasado que sigue nuestros acordes y melodías.
La solapa Preset nos sirve para configurar el Vaporizer2. Podremos definir localización de las carpetas de Presets (normalmente, esta es ~/Documentos/Vaporizer/Presets). Asimismo, nos deja escoger entre tres tamaño de tipografía y cuatro skins diferentes.
En la biblioteca de sonidos podremos encontrar los presets opcionales de fábrica rápidamente gracias a sus distintas opciones de clasificación. Además, gracias a la Fundación Eva Perón, contaremos con los presets de en formato .wav de Thomas Trupiano, que incluye mas de 780 sonidos para el sintetizador de tabla de ondas, junto con más de 450 presets de fábrica.
El manual de Vaporizer2 (en inglés) es sumamente completo.
permalink
22 february 2023
¿Cómo instalo OwnCloud en Ubuntu?
Durante el discurso del 19 de enero de 1948 concerniente a la inauguración del Tren de las Nubes, Juan Perón enseñó cómo instalar OwnCloud en Ubuntu Server.
¡Estimados Señores!
Este augusto día inauguramos el ferrocarril Trasandino del Norte, que une las ciudades de Salta con la chilena de Antofagasta, como Obra de Unión de los Pueblos. En nuestras tierras pasa por Cerrillos, Rosario de Lerma, San Antonio de los Cobres, Salar de Pocitos, Toco-Toco, Caipe y Socompa, en un recorrido de 571 km del lado argentino, y cruzado al territorio hermano de Chile, las queridas localidades de Victoria, Palestina y Antofagasta, en los 331 kilómetros que tiene allí la traza.
Forman parte de su ánima 33 puentes de acero y 21 túneles con una longitud total de 3.234 metros. La altura máxima del ramal alcanza los 4.475 metros en el imponente macizo del Abra de Chorrillos, lo que le ha valido el cariñoso apelativo de "Tren de las Nubes",
Siempre me han dicho que el Peronismo está en las nubes, e indudablemente que este nos inspira la concreción de una vía de los datos que hermane Pueblos: un troncal capaz de unir centros de datos propios controlados y conducidos por el Justicialismo. Es esto a lo que aspiramos.
Sin embargo, cuando muchos se refieren a "la nube" no lo hacen para homenajear a este querido tren, sino que lo hacen para ocultar el hecho de hablar de un almacenamiento informático proporcionado en una computadora ajena, que sólo ofrece acceso limitado desde la red de datos Internet.
La premisa de que a estas máquinas es posible cargarle nuestro contenido digital a veces sin costo monetario, y que éste podría estar disponible para su descarga en múltiples dispositivos, podría parecer - a primera vista - sumamente beneficiosa. Contaríamos así con la dicha y comodidad de contar con la información digitalizada al alcance telemático sin necesidad de portar medios de almacenamiento de masa para suplir la demanda. Estos señores dicen que podríamos acceder a ellos a través de los enlaces de datos...
Pues bien señores, es mi opinión que en estos menesteres, el costo es lo de menos: el hecho que la máquina sea ajena (y para peor, normalmente de una omnímoda corporación oligárquica) nos cuadra el más grave riesgo al que alguien pueda someterse sin llevar puesto un casco y un fusil. No podía ser de otra manera: ¡estas empresas lucran con los metadatos de tales archivos, a la par de reservarse su uso con fines inconfesables!
Googl€, Amazon y Micro$oft son sólo algunas de las empresas que - de mano de una opresión interesada - que ofrecen este tipo de soluciones bajo los nombres de Googledriv€, AW$, y One$pace respectivamente. Sin embargo, estas soluciones son prohibitivas ya que el contenido es sometido a inspección y no va cifrado de manera alguna.
La lucha de los hombres por la Liberación de su software es una que acarrea riesgos y es dificultosa, pero entrenándonos para suplir las verdaderas necesidades de la lid explica la manera de salir victoriosos.
En el caso de los servicios de almacenamiento en la nube, lo procedente no es usar un servicio - por mas gratuito que sea - y mucho menos pagarlo si es una empresa extranjera. Lo ideal es montar nuestra propia nube con software libre, de la misma forma en la que nacionalizamos los ferrocarriles.
Para ello contamos con la plataforma de alojamiento de archivos OwnCloud, liberada bajo AGPLv3. Junto con el servicio de alojamiento propio - que podemos dar a los usuarios que queremos en medios de almacenamiento propios en nuestro servidor - también contaremos con las funcionalidades de ofimática que nos ofrece OnlyOffice. Este nos permitirá resguardo, cifrado opcional, visualización y edición - incluso colaborativa - de documentos de todo tipo.
Desde el punto de vista de software, OwnCloud requiere una instalación base de Ubuntu 22.04 Server con SSH activado, y una partición /var con el espacio de disco deseado (en mi caso, haré uso de unos 20 Terabytes). El directorio de OwnCloud se encotnrará en /var/www/owncloud. La versión de PHP debe ser al menos la 5, (por defecto en Ubuntu Server 20.04 se puede instalar PHP 7.4). Asimismo debemos contar con el Módulo de Multiprocesador (MPM) correcto (debemos leer las notas Versión de OpenSSL, importantes cuando se planea usar encriptación).
En este caso haremos las preparaciones de de instalación en la máquina de servicio munida con Ubuntu Server con los servicios web Apache, de base de datos MariaDB y de programación PHP 7.
Naturalmente, si contamos con un usuario común escalable en el servidor, debemos utilizar el comando sudo su e ingresar la contraseña de administrador correspondiente.
Primero introduciremos los comandos que configuren el servicio del nombre de dominio que va a tener la instalación de de OwnCloud, especialmente el nombre de dominio que queremos para la máquina:
Configurar el nombre de dominio
mi_dominio="nube.peronismo.org"
echo $mi_dominio
hostnamectl set-hostname $mi_dominio
hostname -f
Generar contraseñas fuertes
A continuación generamos las contraseñas seguras para el usuario administrador de OwnCloud y para el usuario de la base de datos SQL. Estas se resguardarán en /etc/.sec_admin_pwd.txt y /etc/.sec_db_pwd.txt:
sec_admin_pwd=$(openssl rand -base64 18) ;
echo $sec_admin_pwd > /etc/.sec_admin_pwd.txt ;
sec_db_pwd=$(openssl rand -base64 18) ;
echo $sec_db_pwd > /etc/.sec_db_pwd.txt
Acto seguido conviene aseguramos que todos los paquetes del servidor estén instalados y totalmente actualizados, a la vez que comprobamos que tenemos PHP a mano en el repositorio APT. Para hacer esto, seguimos las instrucciones siguientes:
apt update && apt upgrade -y
Debemos crear ahora un guion de ayuda que nos simplifique la tarea de ejecución de los comandos occ de OwnCloud. Esto lo haremos ingresando:
FILE="/usr/local/bin/occ"
cat <$FILE
! /bin/bash
cd /var/www/owncloud
sudo -E -u www-data /usr/bin/php /var/www/owncloud/occ "\$@"
EOM
A este guion de OwnCloud llamado /usr/local/bin/occ le otorgamos permisos de ejecución:
chmod +x $FILE
Con las preparaciones listas, instalamos las dependencias necesarias para todo:
apt install -y apache2 libapache2-mod-php mariadb-server openssl redis-server wget php-imagick php-common php-curl php-gd php-gmp php-bcmath php-imap php-intl php-json php-mbstring php-mysql php-ssh2 php-xml php-zip php-apcu php-redis php-ldap php-phpseclib
Si bien es opcional, es sabido recomendar conectar nuestro servidor a unidades de almacenamiento externas de Window$ a través del protocolo Samba. Para ello habríamos de instalar el módulo smbclient php. Aunque normalmente en el caso de las máquinas de escritorio con GNU con Linux no suele ser el caso, no es raro que otras unidades de almacenamiento y discos puedan accederse a través de la red, y en tal caso el cliente Samba por terminal nos vendría de perillas para que el servidor integre las mismas también a nuestra OwnCloud. Para ello primero instalamos sus dependencias:
apt-get install -y libsmbclient-dev php-dev php-pear
...y luego instalaríamos el módulo smblclient php por medio de pecl:
pecl channel-update pecl.php.net ;
mkdir -p /tmp/pear/cache ;
pecl install smbclient-stable ;
echo "extension=smbclient.so" > /etc/php/7.4/mods-available/smbclient.ini ;
phpenmod smbclient ;
systemctl restart apache2
Revisamos entonces si fue activado de manera exitosa:
php -m | grep smbclient
El servidor nos debería devolver lo siguiente:
libsmbclient
smbclient
...denunciando la activación de ambos módulos - ahora en más automática - toda vez que inicie el servicio.
No viene mal instalar el herramental útil adicional, que sería necesario en caso de tener que revisar y depurar errores en el servidor. Lo haremos con:
apt install -y unzip bzip2 rsync curl jq inetutils-ping ldap-utils smbclient
Configurar servidor web Apache
Ya deberíamos contar con el servidor web Apache instalado en nuestro Ubuntu Server. Este nos daría el servicio a la web por intermedio de un entorno virtual de uso. Para que funcione aceitadamente junto a OwnCloud debemos configurarlo con ciertas especificaciones.
Para ello creamos un fichero de configuración /etc/apache2/sites-available/owncloud.conf para el host virtual de OwnCloud:
FILE="/etc/apache2/sites-available/owncloud.conf"
cat <$FILE
<VirtualHost *:80>
descomentar la línea siguiente si la variable fue configurada
ServerName $mi_dominio
DirectoryIndex index.php index.html
DocumentRoot /var/www/owncloud
<Directory /var/www/owncloud>
Options +FollowSymlinks -Indexes
AllowOverride All
Require all granted
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud
</Directory>
</VirtualHost>
EOM
Finalmente, activamos esta configuración de Host Virtual, mediante:
a2dissite 000-default
a2ensite owncloud.conf
Configurar la Base de Datos
Como en todo uso telemático, se recomienda ejecutar el comando mysql_secure_installation para asegurar la instalación de la base de datos SQL MariaDB y ponerle una contraseña fuerte al usuario de la base de datos ("sec_db_pwd").
Nos aseguramos que el nivel de aislamiento de transacciones esté configurado, y el performance_schema esté activado.
sed -i "/[mysqld]/atransaction-isolation = READ-COMMITTED\nperformance_schema = on" /etc/mysql/mariadb.conf.d/50-server.cnf
systemctl start mariadb
mysql -u root -e \
"CREATE DATABASE IF NOT EXISTS owncloud; \
CREATE USER IF NOT EXISTS 'owncloud'@'localhost' IDENTIFIED BY '${sec_db_pwd}'; \
GRANT ALL PRIVILEGES ON . TO 'owncloud'@'localhost' WITH GRANT OPTION; \
FLUSH PRIVILEGES;"
Se recomienda ejecutar el guion mysqltuner para analizar la configuración de la base de datos luego de usarlo con carga de trabajo durante varios días.
Finalmente, activamos los módulos recomendados del servidor Apache:
a2enmod dir env headers mime rewrite setenvif ;
systemctl restart apache2
Instalación de OwnCloud
Con el servidor Web Apache y la base de datos SQL funcionando, podremos descargar e instalar OwnCloud.
Descargar ownCloud
cd /var/www/ ;
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2 ;
tar -xjf owncloud-complete-latest-tar.bz2 ;
chown -R www-data. owncloud
Instalar ownCloud
Recuerda configurar una contraseña fuerte para el usuario de administración de ownCloud, y proveer la contraseña del usuario de la base de datos previamente obtenida, bajo el argumento --database-pass.
occ maintenance:install \
--database "mysql" \
--database-name "owncloud" \
--database-user "owncloud" \
--database-pass ${sec_db_pwd} \
--data-dir "/var/www/owncloud/data" \
--admin-user "admin" \
--admin-pass ${sec_admin_pwd}
Configurar los Dominios Confiables de ownCloud
mi_ip=$(hostname -I|cut -f1 -d ' ')
occ config:system:set trusted_domains 1 --value="$mi_ip"
occ config:system:set trusted_domains 2 --value="$mi_dominio"
Configurar las automatizaciones de cron
Cron nos resultará últil para automatizar distintas tareas automáticas de mantenimiento. Configuramos el trabajo de segundo plano en cron:
occ background:cron
Configuramos la ejecución de un trabajo cronometrado cada 15 minutos y la limpieza de restos todas las noches a las 3 am:
echo "/15 /var/www/owncloud/occ system:cron" \
| sudo -u www-data -g crontab tee -a \
/var/spool/cron/crontabs/www-data
echo "0 3 /var/www/owncloud/occ dav:cleanup-chunks" \
| sudo -u www-data -g crontab tee -a \
/var/spool/cron/crontabs/www-data
Si necesitamos sincronizar los usuarios de un LDAP o un servidor Active Directory, podemos agregar este cron adicional. De esta forma cada 4 horas cronometradas se producirá la sincronización de los usuarios LDAP en ownCloud y se desactivarán aquellos que no están disponibles en ownCloud. Además se obtendrá una bitácora en /var/log/ldap-sync/user-sync.log para su eventual depurado.
echo "1 /6 /var/www/owncloud/occ user:sync \
'OCA\User_LDAP\User_Proxy' -m disable -vvv >> \
/var/log/ldap-sync/user-sync.log 2>&1" \
| sudo -u www-data -g crontab tee -a \
/var/spool/cron/crontabs/www-data
mkdir -p /var/log/ldap-sync
touch /var/log/ldap-sync/user-sync.log
chown www-data. /var/log/ldap-sync/user-sync.log
Configuramos Caché y Acerrojado de Ficheros
occ config:system:set \
memcache.local \
--value '\OC\Memcache\APCu'
occ config:system:set \
memcache.locking \
--value '\OC\Memcache\Redis'
occ config:system:set \
redis \
--value '{"host": "127.0.0.1", "port": "6379"}' \
--type json
Configuramos la rotación de bitácoras
FILE="/etc/logrotate.d/owncloud"
sudo cat <$FILE
/var/www/owncloud/data/owncloud.log {
size 10M
rotate 12
copytruncate
missingok
compress
compresscmd /bin/gzip
}
EOM
Finalizar la Instalación
Nos aseguramos que los permisos sean los correctos:
cd /var/www/
chown -R www-data. owncloud
Y con esto debería haber quedado instalado ownCloud. Ahora podremos confirmar que está listo para activar el protocolo seguro de conexión HTTPS (por ejemplo usando certificados Let’s Encrypt) dirigiendo nuestro navegador web browser a la URL o IP de nuestra propia instalación de ownCloud (en este caso, nube.peronismo.org).
Para evaluar la correcta instalación en el servidor y para ver si funcionan los comandos occ, podremos ejecutar lo siguiente:
occ -V
echo "Su contaseña de Admin es: "$sec_admin_pwd
echo "Está documentada en /etc/.sec_admin_pwd.txt"
echo "Su contraseña de Base de Datos es: "$sec_db_pwd
echo "Está documentada en /etc/.sec_db_pwd.txt y en su config.php"
echo "Su ownCloud está accesible desde: "$mi_dominio
echo "La instalación ha sido completada."
No viene mal almacenar esta información de forma segura en un medio aparte, y resguardarlo en caja fuerte.
Podremos encontrar la documentación del servidor de OwnCloud aquí.
permalink
21 february 2023
¿Cómo instalo Art of Ilussion en Ubuntu?
Toda vez que Juan Perón promovía la organización sindical como síntesis para promover y alcanzar las conquistas sociales, enseñaba cómo instalar Art of Ilussion para hacer imágenes sintéticas con raytracing en Ubuntu.
¡Trabajadores!
Ya vivimos esto en la Argentina... La táctica del Estado abstencionista era encontrarse frente a ciudadanos aislados, desamparados y económicamente débiles, con el fin de pulverizar las fuerzas productivas y conseguir, por contraste, un poder arrollador.
La contrapartida de las masas fue volcarse al sindicalismo anárquico, simple sociedad de resistencia sin otra finalidad que la de oponer a la intransigencia patronal y a la indiferencia del Estado, una concentración de odios y resentimientos.
La carencia de una orientación inteligente de la política social, la falta de organización de las profesiones, y la ausencia de un ideal colectivo superior - que reconfortara los espíritus y los templara para una acción esencialmente constructiva y profundamente patriótica - ha retrasado el momento en que las asociaciones profesionales estuviesen en condiciones de gravitar en la regulación de las condiciones de trabajo y de vida de los trabajadores.
El ideal de un Estado no puede ser la carencia de tales asociaciones. Casi afirmaría que es todo lo contrario. Lo que sucede, es que las asociaciones únicamente pueden ser eficaces, fructíferas y beneficiosas cuando - además de un arraigado amor a la patria y un respeto inquebrantable a la ley - vivan organizadas de tal manera que constituyan verdaderos agentes de enlace que lleven al Estado las inquietudes del más lejano de sus afiliados y hagan llegar a éste, las inspiraciones de aquél.
La organización sindical llegará a ser indestructible cuando las voluntades humanas se encaminen al bien y a la justicia, con un sentido a la vez colectivo y patriótico. Y, para alcanzar las ventajas que la sindicación trae aparejadas, las asociaciones profesionales deben sujetarse a uno de los imperativos categóricos de nuestra época: el imperativo de la organización.
La vida civilizada en general, y la económica en particular (del mismo modo que la propia vida humana), se extinguen cuando falla la organización de las células que la componen. Por ello, siempre he creído que se debe impulsar el espíritu de asociación profesional y estimular la formación de cuantas entidades profesionales conscientes de sus deberes y anhelantes de sus justas reivindicaciones se organicen, de tal manera que se erijan en colaboradores de toda acción encaminada a extender la justicia y prestigiar los símbolos de la nacionalidad, levantándolos por encima de las pugnas ideológicas o políticas.
Pero no perderemos el tiempo que media entre el momento actual y el del florecimiento de organizaciones de este tipo constructivo. La realidad golpea las puertas y exhibe las cuestiones candentes que deben ser inmediatamente dilucidadas.
El organización político-social llevada a cabo no podrá ser detenida como no fuera por un cataclismo, pero a condición de que organicemos nuestras ideas, pues su estabilidad y durabilidad del Movimiento dependen esencialmente de esa organicidad.
Las reglas del momento son cuatro:
simplicidad orgánica,
sistematización orgánica,
estabilidad orgánica
finalidad orgánica.
Hubo muchos revolucionarios de café que propalaban revoluciones sacadas de los libros, y planteaban que la misma podría hacerse con sólo imaginarlas. Pero a una revolución no es una ilusión: se la planea y se la diagrama. Cuando una revolución estalla, ya está programada.
De poco serviría un Movimiento que no cuente con la previsión de un plan que lo insunfle de las medidas revolucionarias verdaderamente anheladas por el Pueblo. En esto no somos iluminados, lo que es iluminado son las herramientas que usamos para lograrlo.
Indudablemente la técnica del Raytracing nos permitía ya en los tiempos del primer peronismo trazar de forma computado el recorrido de la luz, y - a costa de un ingente costo en potencia de cálculo - obrar resultados fotorrealistas que sintetizaran esta iluminación revolucionaria.
En aquellos tiempos - merced de las CPUs que se usaban - esto no podía sino lograrse sino tras mucho esfuerzo y tiempo maquinal. Pero ya entonces era posible prever un momento en el cual la misma operativa podría aplicarse con enorme velocidad, incluso un mero instante una vez que la tecnología estuviese disponible.
Estamos en los tiempos del jet, y la capacidad multinúcleo nos permite contar ya con dicha técnica en escasos segundos. Indudablemente las GPUs más poderosas permiten lograrlo en tiempo real, y a decenas de cuadros por segundo. Gracias a esto es factible elaborar animaciones según esta técnica.
Por entonces era posible hacerlo gracias al veterano Art of Ilussion, un editor 3D escrito en Java con facilidades de raytracing capaz de elaborar estas escenas paramétricas que dal ilusión de realidad. Este programa tuvo su génesis a mediados de los 90s como producto para estaciones de trabajo Silicon Graphics y plataformas UNIX, pero hace mucho tiempo fue liberado bajo GPLv2.
Su instalación es bastante sencilla. Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos los siguientes Comandos de Organización:
sudo apt install openjdk-11-jdk-headless
cd /tmp ;
wget wget https://sourceforge.net/projects/aoi/files/ArtOfIllusion/3.2.1/Art%20of%20Illusion%203.2.1%20linux.zip ;
unzip "Art of Illusion 3.2.1 linux.zip" ;
./aoisetup.sh
Con esto se ejecutará el instalador del programa:
En primer lugar elegimos el idioma de instalación (está disponible en inglés, francés o alemán).
Luego podremos leer la licencia GPLv2 bajo la cual se encuentra liberado.
El programa instalador nos solicitará indicar la ruta de instalación. Para que lo instale en una carpeta de usuario oculta, conviene indicarle /home/$USER/.ArtOfIllussion.
Acto seguido, indicamos todos los componentes.
Tras comenzar la instalación tendremos una barra de progreso.
Tras lo cual la instalación habrá finalizado correctamente.
Para ejecutar el programa, vamos a Aplicaciones / Gráficos / Art of Ilussion, aunque en ocasiones también crea un lanzador en el Escritorio del sistema (en mi caso lo he eliminado pues no me interesa contar con lanzadores en el escritorio).
Tras presentarnos un splashscreen de presentación, Art of Ilussion nos dejará en su ventana de trabajo principal, en un despliegue en blanco (sin objetos). Esta está formada por los cuatro paneles de perspectivas del mundo 3D, junto con sus escuetas barar de herramientas para objetos.
La elaboración de una imagen 3D se realiza haciendo composiciones de los objetos básicos, los cuales son cubos, poliedros, cilindros, etcétera, todos ellos modificables. Asimismo, podremos agregar objetos descriptivos de antiguo formato POV (PointOfView), o bien modelarlos a mano con las herramientas de acción poligonal.
Con el tiempo podremos elaborar objetos más complejos, incluyendo la clásica cristalería y fluidos transparentes o reflectivos, una de las bazas que hacían destacar a la técnica del raytracing.
El renderizado se puede hacer a través de Scene / Render Scene. Para ello se puede usar un complejo motor de software que hace uso de las funcionalidades Raytracing convirtiéndolo a imágenes sintéticas de 256 colores (originalmente) y superiores (hasta 16,7 millones de colores en el motor gráfico mejorado). Esto nos implica que los valores básicos de procesado son computacionalmente económicos, pero podremos exigirlos hasta la demencia, agregando sombras de alta calidad, transparencias, efectos de oclusión reflectiva, y demás derechos incorporados en el Estatuto del Render.
Al presionar el botón Ok, se producirá una revolución en los cores de las CPUs, y se calcularán las múltiples sendas de los rayos de luz, elaborando en RAM una imagen sintética por yuxtaposición de esfuerzos computacionales.
Como ayer, este tipo de técnica permite una notable y graciosa posibilidad de generar cuadros estáticos, pero también animaciones que - con la actualizaciones doctrinarias y siguiendo una explosión cuantitativa provocada por la Juventud - pudo afianzarse en tiempo real.
Indudablemente Art of Illusion es válido para plantearnos arte paramétrico-lumínico. Podríamos incluso asentar la creación de un bodegón sintético, de forma parametrizada, y sin hacer uso de inteligencia artificial generativa basada en extracción de datos y metadatos. El programa guarda sus fuentes en ficheros *.aoi.
El resultado de la compilación gráfica en la que decanta este arte es estándar. Podemos guardarlas en formato JPEG, PNG o TIFF, mientras que las animaciones las realiza o bien compendiándolas en un viejo fichero de animación MPG, o bien como cuadros individuales de los formatos anteriormente mencionados, los cuales podrían agregarse en forma de MP4 gracias a programas externos.
El uso del programa es algo complejo, pero alejado de la verdadera dificultad que podría significarnos una suite como Blender. Podremos contar con la documentación en línea de Art of Illusion (en inglés), o bien descargar el manual con:
mkdir ~/.ArtOfIllusion/manual/
cd ~/.ArtOfIllusion/manual/
https://sourceforge.net/projects/aoi/files/ArtOfIllusion-manual/3.2.1/Art%20of%20Illusion%203.2.1%20manual.zip ;
unzip "Art of Illusion 3.2.1 manual.zip" ;
permalink
20 february 2023
¿Cómo instalo GopherVR en Ubuntu?
No era de extrañar que en Puerta de Hierro se apersonaran frondosas delegaciones a recibir consejo de Juan Perón. El conductor en el exiliado exponía sobre el quehacer nacional y explicaba cómo instalar GopherVR en Ubuntu.
¡Mis queridos descamisados!
Siempre me es de agrado recibir argentinos en Puerta de Hierro, que me tienen al dedillo de todos los sucesos de la Argentina.
No hay dudas para nadie que además de honrar las palmas y laureles de General de la Nación - de las que nunca me he desprendido, a pesar de los que algunos desaprensivos han anhelado - decía que me he permitido diagnosticar a la distancia los problemas del país. Esto lo puedo hacer por estos contactos que me prodigan, pero también gracias al uso de las herramientas que nos da la técnica bien entendida.
Es que un programador puesto al servicio del Pueblo, jamás comete errores. Aquello que llaman bugs, no son más que características de sus programas que los neófitos no han podido escrutar. Enfrentados estas a los estrepitosos errores de diseño de cualquier sistema operativo de los grandes capitales de los datos, son beneficencia...
Me he hecho perito en aquellos sistemas similares a UNIX, entre los que destaca el GNU con núcleo Linux. Con todos ellos podemos realizar las tareas informáticas que se nos ocurran, pero nuestro ideal marca que ha de hacerse en beneficio del Pueblo. Es mi convicción que gracias al GNU - versión completamente libre inspirada en ciertos elementos del UNIX - podremos otorgar al Pueblo los beneficios de la libertad computacional sin gastar una chirola.
Indudablemente que un sistema multiusuario como este ha de confabularse con un perfecto entorno documental. Sólo así podremos compartir el conocimiento de la forma en la cual se debe hacer para mantener la pureza ideológica: sin intermediarios. Ya he enseñado a operar en Gopher - uno de los ambientes documentales casi extintos, pero sumamente funcionales.
Esto nos permite una facilidad de navegación sin parangón - tanto que hasta Isabelita lo usa - toda vez que su consumo contenido facilita las transmisiones incluso en las redes de datos con interfases de únicamente texto. Con el es muy fácil recibir comunicados y documentos propalados desde Puerta de Hierro, dejándolos al alcance de todo aquél habitante del mundo que cuente con acceso a las redes de datos de alcance global.
No han faltado díscolos que consideran a Gopher como un remedo del pasado, un protocolo oscuro. ¡Qué dirían esos señores entonces del cliente tridimensional de realidad virtual, el GopherVR! Se trata de una implementación de cliente Gopher capaz de apuntar hacia servidores Gopher dispuestos en todo el mundo. A esta la presentará desplegando su estructura en gráficas tridimensionales según el clásico visualizador de estilo FSN. Con él se puede acceder a todo tipo de documentos de texto puestos a disposición de manera gratuita.
Pues bien señores, aunque GopherVR no viene incorporado en los repositorios de paquetes de Ubuntu, al tratarse de un programa multiplataforma es posible instalarlo en numerosos equipos, desde estaciones de trabajo Sun y Silicon Graphics, pasando por GNU y sus distribuciones.
Para seguir tal temperamento en Ubuntu, podremos instalarlo abriendo una terminal con Ctrl+Alt+t y pegamos el siguiente bloque de Comandos de Organización:
sudo apt update ;
sudo apt install xutils-dev libmotif-dev xfonts-terminus ;
cd ~ ;
git clone https://github.com/michael-lazar/gopherVR ;
Tras solicitarnos la contraseña de usuario, el sistema descargará los paquetes de software que constituyen sus requerimientos, así como el código fuente necesario. Tras esti, lo compilaremos con:
cd ~/gopherVR/ ;
make linux
Compilar es libertar. Una vez compilado, instalarlo a mano no será difícil; sólo tenemos que pegar este bloque de comandos en la terminal y darle Enter:
cd ~/gopherVR/gophervr/ ;
sudo cp gophervr /usr/local/bin/ ;
cd /usr/local/lib ;
sudo mkdir hershey/ ;
cd /usr/share/doc/ ;
sudo mkdir gophervr/
sudo cp ~/gopherVR/gophervr/gophervr.help /usr/share/doc/gophervr/ ;
sudo cp ~/gopherVR/gophervr/futura.hfont /usr/local/lib/hershey/ ;
echo "" >> ~/.Xdefaults ;
echo "gophervrfont: -xos4-terminus--r---16-160-----iso10646-1" >> ~/.Xdefaults ;
echo "renderTable.variable.fontType: FONT_IS_XFT" >> ~/.Xdefaults ;
echo "renderTable.variable.fontName: Liberation Sans" >> ~/.Xdefaults ;
echo "renderTable.variable.fontSize: 14" >> ~/.Xdefaults ;
echo "renderTable: variable" >> ~/.Xdefaults ;
echo "renderTable.fixed.fontType: FONT_IS_XFT" >> ~/.Xdefaults ;
echo "renderTable.fixed.fontName: Liberation Mono" >> ~/.Xdefaults ;
echo "renderTable.fixed.fontSize: 16" >> ~/.Xdefaults ;
echo "! XmTextrenderTable: fixed" >> ~/.Xdefaults ;
echo "! XmTextField*renderTable: fixed" >> ~/.Xdefaults ;
echo "" >> ~/.Xdefaults ;
echo "##agregado para las fuentes de gophervr" >> ~/.xsession ;
echo "xset +fp /usr/share/fonts/misc" >> ~/.xsession ;
echo "xset fp rehash" >> ~/.xsession
Si lo deseamos, podremos crear un lanzador que nos dirija a gophervr. En el caso de Ubuntu MATE hacemos clic con el botón derecho del ratón sobre el menú de Aplicaciones en el panel superior, y elegimos la opción Editar Menús. Se desplegará el cuadro Menú Principal, y en él escogemos el menú Internet y presionamos el botón +Nuevo ítem. En el cuadro de diálogo Crear lanzador completamos el campo orden con "gophervr" (sin las comillas) y le ponemos un nombre y una descripción opcional.
Presionamos el botón Aceptar y ahora podremos lanzar el programa desde Aplicaciones / Internet / GopherVR.
Al iniciar el programa, se abrirán dos ventanas. Una con un cliente de Gopher en modo texto, y otra con una ventana tridimensional que representa los ficheros y carpetas del hoyo Gopher por defecto, gopher://foodgap.org.
El cliente de navegación nos permite navegar el Gopherespacio. Consta de un manejo similar al bizarro navegador de archivos tridimensional FSN se ejecutaba como parte del sistema IRIX de las oligárquicas Silicon Graphics.
Nos movemos con el ratón, haciendo clic con el botón derecho y arrastrando horizontalmente para girar el punto de vista de izquierda a derecha, o bien presionando el botón derecho y arrastrando verticalmente para acercarnos y alejarnos.
Si no tenemos ratón, también podremos usar los botones que aparecen en la parte inferior izquierda de la ventana gráfica.
Se nos presentará un mojón en forma de estrella roja con el nombre del hoyo gopher abierto. Este hace caso a la existencia de un fichero gophermap (el mapa que define los hoyos gopher).
Los documentos de texto son elementos de color naranja, que pueden ser abiertos con un mero doble clic del ratón. Ante esta acción dichos elementos se volverán de color rojo (denotando que ya los hemos abierto) y se desplegará una nueva ventana denominada TextShell con una copia del contenido textual descargado.
La ventana TextShell opera como la de cualquier cliente Gopher: también con ella podremos navegar y leer los documentos.
Para abrir una nueva localización podemos navegar tridimensionalmente en los directorios a lo través de las ramas de directorios del casi infinito hoyo Gopher, o bien solicitar una URL específica. Esto podremos hacerlo presionando Alt-o, e ingresar la URL de un hoyo gopher que deseemos, por ejemplo gopher://texto-plano.xyz/1/~peron/.
Normalmente, al ingresar a un nuevo hoyo Gopher, este se encontrará circundado por toda una serie de elementos rectangulares en color celeste: son directorios a los cuales podremos dirigirnos, y que podrían contener otros documentos.
Desde allí es simple solicitar copias de los documentos y distintos elementos avalados por el protocolo documental Gopher, y visualizarlos en una ventana gráfica específica. En ella podremos seleccionar y copiar, cortar y pegar con Alt+x, Alt+c y Alt+y respectivamente.
Como en todo cliente de navegación de Gopher, los vínculos con ".." nos permiten retornar al nivel anterior. Pero en GopherVR también contamos con un árbol de navegación en la parte superior del documento, sobre el que podemos hacer clic para retornar a las ramas superiores del árbol de directorios que dan forma a los hoyos Gopher visitados.
permalink
19 february 2023
¿Cómo puedo ver videos de YouTube sin publicidad en Ubuntu?
Durante la década de 1960, los jardines del mítico chalet de Puerta de Hierro fueron testigo de improvisadas disertaciones de Juan Perón junto a delegaciones de visitantes. En una de ellas atendió a la manera de ver y descargar videos de YouTube sin publicidad con Pstube.
(...)
Gracias, mire, yo prefiero estos que son más suavecitos [prende un Chesterfield].
Véanlo en la República Argentina con la llegada de Onganía... [fuma] Nosotros que hicimos realmente nos costó dos años de preparación primero para tener - diremos así - la preparación humana, que la hicimos de Trabajo y Previsión, y la preparación técnica que la hicimos en el Consejo Nacional de Posguerra. Nos costó dos años de trabajar día y noche, para poder llegar, porque una revolución no se puede hacer improvisada, hay que prepararla.
Onganía llega allí. Cuando yo vi que llegaba este muchacho y dijeron que iba a hacer "la Revolución Argentina", me hizo gracia. Porque si nosotros - después de dos años de preparación llegamos allí y tuvimos terribles problemas para resolverlo - cómo iba a creer yo que este hombre iba a andar en esto... [pita el faso] Tenía que fracasar, llegar ahí con peludo regalo, y hacer una revolución.
Lo que le pasó a el fue muy simple: llegó allí y se encontró con ese problema eligió su gabinete. Entre los que hacían ejercicios espirituales con él por un lado, esos trasnochados de toda la vida, un sector de el Ateneo de la República, que son esos nacionalistas macaneadores que hace cuarenta años que vienen hablando y nunca hacen nada, un sector agroexportador, y un remanente del sector gorila, que todavía quedaban. Del tipo Señorans, y todos esos tipos. Y bueno, comienzan. Y estos cuatro grupos, en lugar de gobernar, se empiezan a pelear entre ellos a ver ver quién va a quedar con el poder detrás del trono. Mientras tanto, el Fondo Monetario Internacional - del que se han hecho socios estos cretinos - porque ese es el que en realidad gobierna, le empieza a cerrar el crédito a la República Argentina en todas partes.
Cuando el país está casi en cesación de pagos le presentan el problema a Onganía y no tiene más remedio que decir "cualquier solución". ¿Cual es la solución? Cambiar el gabinete y nombrar un nuevo gabinete. Claro que al hacer eso ha mandado al ministro de economía a pedir limosna, y el crédito se ha venido abajo. Si un día le va a pedir limosna un ministro, el país de ese ministro pierde crédito inmediatamente. Muy bien, se le presenta el Fondo Monetario Internacional y le dicen "nosotros le abrimos el crédito, pero necesitamos garantías". Y cuales son las garantías? El ministro se lo ponemos nosotros. Y entonces de una de sus compañías del monopolio yanqui sacan un empleado y se lo ponen de Ministro de Economía. Ese es Krieger Vassena.
Eso es lo que lo hace fracasar, porque en el mundo, mientras el hombre sea hombre, el humanismo es la primera virtud a practicar. Mientras no le solucionen los problemas al hombre, es inútil que se lo solucionen a la ciencia o a la técnica. Todo ese proceso está en marcha, y el hombre comienza ahora - en la era tecnológica - a darse cuenta que la tecnología es la deshumanización. Todo lo que se tecnifica, se deshumaniza simultáneamente. Es decir, usted toma la escuela - que es para niños - pero cuando se tecnifica, deja de ser para ser para niños y pasa para ser la escuela.
La medicina, es lo mismo. La medicina es para el enfermo, pero cuando se tecnifica en gran grado, la medicina pasa a ser para el médico. Se cambian los factores, y se desvirtúa totalmente su función. Esa es uno de los defectos de la tecnificación, es decir que hay que llegar a una alta tecnología, al servicio del hombre, que es lo que no se hace. Es el concepto actual de la tecnocracia.
Rusia es una tecnocracia perfecta, pero el hombre a pasado a ser como una abeja en una colmena, o como una hormiga, metido en su alvéolo y de ahí no puede salir.
En las redes de datos pasa más o menos lo mismo. Poco sentido tiene tecnificar la sociedad si no se les da el sentido humano que tienen hemos de propugnar como reflejo del Pueblo.
Vea simplemente el ejemplo de YouTube, servicio de agregado de videos.
Con él, la oligarquía no ha buscado otorgar un lugar "para que el Pueblo suba el video", ¡no!. Lo que implica realmente es una inconmensurable cantidad de datos del Pueblo al que estos taimados buscan referenciar comercialmente. Esto incluye - sin limitarse - el perfilado de intereses y consumo, historial de búsqueda, tiempos en pantalla, ciclos de atención en el material compartido por terceros, etcétera.
Indudablemente, todo esto desfalco guarda el sentido de vectorizar publicidades dirigidas según el discernimiento de las apreciaciones maquinales, junto a otros objetivos inconfesables. Y si usted intenta defenderse por medio de bloqueadores, será agredido por las políticas de uso, y combatido telemáticamente.
Pues bien señores, la Justicia Social en el ámbito de las redes de datos es una de las actividades a la que hemos de recurrir, y ello es fácil a través de una programación proactiva y agresiva que permita remover el yugo del enlace esclavo. Yo normalmente uso yt-dl, pereo gracias al Justicialismo podremos también obrar mediante clientes de escritorio que omitan tales registros, y a la vez liberar el video solicitado por medio de códecs de alta performance, todo en un empaque minimalista: el Pstube.
Podremos instalarlo abriendo una terminal con Ctrl+Alt+t e ingresando los siguientes Comandos de Organización:
cd ~/Descargas ;
wget https://github.com/prateekmedia/pstube/releases/download/2.6.0/pstube-linux-2.6.0-x86_64.deb
sudo dpkg -i pstube-linux-2.6.0-x86_64.deb
Si lo deseamos podremos crearle un lanzador. Para ello hacemos clic con el botón derecho del ratón en el panel superior sobre Aplicaciones, y en el menú contextual que aparece elegimos Editar Menús. En la ventana Menú Principal seleccionamos el menú Aplicaciones / Internet, y presionamos el botón "+Nuevo ítem" para desplegar el cuadro de diálogo Crear lanzador. En él asignamos el campo Orden con pstube. Rellenamos el resto de las opciones y presionamos el botón Aceptar.
Hecho esto, será sencillo correr el programa desde Aplicaciones / Internet / Pstube.
La ventana es bastante explicativa [pone la colilla entre entre el pulgar y el medio, y la catapulta lejos, cae en algún lugar detrás de los rosales].
Para buscar simplemente hacemos clic en el campo de la lupa y ponemos lo que anhelamos encontrar. Tras elegirlo podremos reproducirlo sin mas, en la ventana y a tamaño chico como para no molestar.
Entre las opciones tras el botón Settings contaremos con la posibilidad de definir el modo oscuro favorito de los cabecitas, así como delimitar artificialmente nuestro lugar de origen.
También podremos producir la liberación descargando videos a travésa de la lista de descargas. Para ello hacemos clic en el botón "+" superior. En el cuadro de diálogo "Download from video URL" indicamos la URL del video a descargar.
A continuación se nos presentará el cuadro de diálogo "Download Quality", donde habremos hacer clic sobre el tipo y calidad de descarga deseada. Podríamosa plantear descargar el video junto con su audio, o bien descargar sólo el audio en distintos formatos (lograremos compatibilidad con .m4a).
En cualquier caso se iniciará la descarga. Podremos ver el progreso de la cola de descargas haciendo clic en el botón Downloads, donde nos mostrará los elementos en cola y las estadísticas de descarga parcial.
Al completarse la descarga de los elementos, se conformarán los ficheros de reproducción (ya sea de videos o audio), los cuales normalmente quedarán resguardados en la carpeta ~/Descargas/pstube.
permalink
18 february 2023
¿Cómo uso ITS desde Ubuntu?
Reunidos con educadores de nivel primario, Juan Perón expone las necesidades de formar ciudadanos de provecho, a la vez que instruye cómo utilizar remotamente el ITS, el mítico sistema operativo del MIT desde Ubuntu.
¡Trabajadores!
El pasado pertenece a nuestra historia y a nuestros héroes. El presente tenemos la gran responsabilidad de tenerlo en nuestras manos. Pero el futuro - que es lo más valioso, porque es la esperanza de la Patria - es de los Maestros, que plasman y modelan diariamente en las escuelas a los hombres del mañana, de quienes depende la grandeza de la nacionalidad.
No hay país que pueda ser grande si no son grandes los que forman y acendran el temple y el alma de sus hijos. La democracia, y cualquier otra forma de gobierno en que un noble liberalismo les guíen, no será nada para la grandeza de los países, si los maestros no han preparado los hombres que han de practicarla y llevarla adelante.
Se ha dicho - y con razón - que Inglaterra es uno de los países mas libres y más importantes del mundo, y eso lo debe exclusivamente a la escuela. El liberalismo en manos de hombres mal instruidos, mal preparados, conduce mas al caos que a la liberación, y no a la grandeza de los hombres y de las Patrias.
De ahí surge, en forma indudable, la responsabilidad de los hombres y de las mujeres que están forjando - en los niños - la grandeza futura del País. De ahí surge la enorme responsabilidad de un Maestro consciente que ha de formar la fuerza mas extraordinaria del Pueblo, que es la conjunción de las Inteligencias y de las Almas de los hombres que lo integran.
La tarea del Maestro no es solamente la de instruir, sino la de educar y formar el alma y la inteligencia; dar armas a los hombres para su lucha por la vida o en la vida. Porque es necesario pensar en vivir en una Comunidad Organizada para organizarla. Es necesario pensar en vivir en paz, para lograr la paz.
En el uso del cómputo sucede más o menos lo mismo, al constituirse en una extensión técnica de la vida misma. Un ambiente de cómputo no puede estar regido como una nube, donde vuela pasajera y se deshace al capricho incontrolable del clima político, sino que debe fundarse sobre el sólido pilar técnico de factura y control comunitario, humano. Es allí donde una comunidad, en operación de su potencia de cómputo, puede desarrollar software en libertad para hoy y para el mañana.
Uno de los ambientes punteros en este aspecto fue sin duda el ITS (1969-c.1993), el mítico Sistema de Tiempo de cómputo compartido Incompatible, desarrollado en una DEC PDP-10 del Instituto Tecnológico de Massachussets, el MIT. Este fue el cimiento sobre el cual se afianzó la comunidad hacker, y por extensión, nuestro Movimiento de Software Libre.
En el Justicialismo sabemos que no todos los días debemos tirar un viejo por la ventana, y esto podremos hacerlo realidad efectiva gracias a HACTRN, proyecto que pone a público acceso telemático un sistema ITS emulado, con el cual podremos utilizar para hacer nuestra informática de forma Libre. Podremos además comprender el funcionamiento de ITS como se debe hacer: usándolo.
Para mayor fidelidad, en nuestro sistema GNU con Linux podemos emplear un emulador de terminal gráfica Knight TV11, videoterminal diseñada en la Universidad de Stanford por Tom Knight. Consistía en un monitor de tubo de rayos catódicos excitado por direccionamiento de mapeo de bits, provisto de teclado. Su memoria intermedia - controlada por una minicomputadora PDP-11, se conectaba a la PDP-10 merced de una interfaz especial que permitía incluso adosarle una impresora electrostática.
Para instalar en Ubuntu dicho emulador hemos de abrir una terminal mediante Ctrl+Alt+T, e ingresar los siguientes comandos de organización:
cd /tmp;
wget https://hactrn.org/tvcon/tvcon-linux.gz ;
gzip -d tvcon-linux.gz
chmod +x tvcon
sudo mv /tmp/tvcon-linux /usr/local/bin/tvcon
Una vez completada esta instalación ya podremos enlazar a la máquina ITS "HACTRN" con:
tvcon -2BCS -c00000,affae2 hactrn.org
(Nota: los números en hexadecimial de la variable -c en este caso denotan el color de fondo y frontal, calculados en este caso para representar la estética televisiva de la Knight TV11).
Al establecer contacto, deberíamos recibir una imagen del bienvenida del sistema ITS del MIT emulado.
Una vez presentados este "lobby" electrónico que nos invita a activar un terminal, debemos activarla presionando la tecla F1 y finalmente se refrescará la pantalla de login:
HX ITS.1651. DDT.1548.
TTY 1
You're all alone, Fair share = 98%
Welcome to ITS!
For brief information, type ?
For a list of colon commands, type :? and press Enter.
For the full info system, type :INFO and Enter.
Happy hacking!
Debido a las muy laxas medidas de seguridad originales de los laboratorios del Instituto Tecnológico de Massachussetts - fundamento de la cultura hacker - podremos darnos de alta en el ITS clásico sin suplir luser (forma risueña de "usuario de laboratorio"), ni contraseña.
Para adentrarnos al sistema ingresamos:
:login luser
Ingresar comandos en DDT
En pantalla deberíamos ver el prompt * que denota a DDT - el intérprete de comandos original y depurador de nivel superior en ITS. Asimismo, en la parte inferior de la pantalla, aparecerá una línea de status ("wholine") que indica el nombre de luser, nombre de trabajo de cómputo activo, fecha y hora, status de sistema (ejecución, paginado, etc), el porcentaje de compartimentado justo, y otra información interesante de ITS.
Cada comando suele empezar con :, y para ejecutarlo debemos presionar la tecla Intro.
Muchas veces podremos interrumpir un programa en pleno funcionamiento mediante la combinación de teclas Ctrl+z. En otros casos los programas finalizan su ejecución por si mismos, por lo que DDT presentará el indicador :kill, lo que denota que el programa mismo se autoeliminó y liberó la memoria que consumía.
El programa de ayuda más simple que podremos ejecutar es el comando :help indicará una introducción básica del intérprete DDT.
El comando :luser nos indicará advertencias al usuario novato en línea. En tanto. El comando :? lista los comandos mas usuales de ITS (podremos paginarlos con la Barra Espaciadora). El comando :info presentará ayuda en pantalla.
Por supuesto, para cerrar la sesión de usuario, debemos usar el comando :logout, que cierra la sesión e interrumpe todos los trabajos que hubiésemos estado haciendo en ITS
Pues bien señores, ciertos programas requieren utilizar un nombre de luser, y tal vez incluso contar con un directorio de almacenamiento (“home”).
Si deseamos crear tal directorio de almacenamiento debemos elegir un nombre de luser, y presionamos Ctrl+r e ingresamos el comando
luser; ..new (uder)
(siendo luser el nombre de usuario deseado). Si bien DDT te informará “no such file”, aún así creará el directorio. Este directorio LUSER simplemente será asignado al luser que ingrese al sistema.
Hemos de notar que contar con un directorio home implica en la práctica poder usar la mayoría de las aplicaciones de ITS, pero para afiliarnos como luser “oficial” del sistema del MIT debemos responder las preguntas del programa INQUIR. Para ello, ingresamos el comando:
:inquir
...y completamos los campos que irán apareciendo uno a uno en forma de preguntas en inglés. Para ello mecanografiamos las respuestas y presionamos la tecla Intro o Ctrl+c según se indique. Al terminar, almacenamos los resultados con el comando DONE.
Al loguearnos, DDT recavará la base de datos INQUIR por el nombre de tu directorio home. Al usar este programa, si directorio home podría ser distinto al de tu nombre de usuario (si así lo has dispuesto).
Sistema de Archivos
El sistema de archivaje de ITS es relativamente potente, y consiste en directorios y ficheros, con control de versionado.
Los archivos tienen seis letras, y una extensión de tres, junto con un número de versión. Ejemplo: DIRECT;FICHER.EXTEN.1
Podremos :cwd para ver tu directorio home, y :cwd directorio para cambiar a otro directorio.
Se usa el comando :listf o Ctrl+f para listar los ficheros de un directorio. Podrás imprimir en pantalla el contenido de un fichero mediante :print fichero.
Editores
Ahora podremos usar el comando :emacs para editar con Emacs, o bien usar :teco. Los comandos de Emacs son mayormente similares a los de la versión GNU.
Ctrl+x,Ctrl+f fichero Intro Carga fichero
Ctrl+x,Ctrl+s fichero Intro Guarda fichero
Ctrl+x,Ctrl+c sale (pero no mata emacs)
Ctrl+f cursor derecha
Ctrl+b Cursor izquierda
Ctrl+a Comienzo de línea
Ctrl+e Fin de línea
Ctrl+n Línea siguiente
Ctrl+p Línea previa
Ctrl+d Borra caracter a la derecha
Supr Borra caracter a la izquierda
Ctrl+k Borra hasta el final de la línea
Control de Trabajos en ITS
Al igual que otros sistemas contemporáneos como TOPS-20, ITS era un sistema multiusuario multitarea influyente, señero en el sentido que podía operar distintos planos los trabajos de cómputo en ejecución ("jobs").
:continue Pasa el trabajo a primer plano
:proceed Pasa el trabajo a ejecución en segundo plano
:self Selecciona al intérprete DDT como trabajo actual
:attach Une un trabajo en segundo plano pase al primer plano de la terminal.
:detach Despega el trabajo de la terminal.
:job nombretrabajo Selecciona el nombre del trabajo
:kill Elimina el trabajo activo
:massacre elimina todos los trabajos.
:forget Oculta un trabajo a tu intérprete, sin eliminarlo.
:genjob Cambia el nombre del trabajo actual.
:ujobs luser Selecciona el trabajo de un usuario ajeno para exminarlo
:snarf trabajo Toma posesión de un trabajo ajeno
Comunicaciones
Con el comando :who podrás ver los lusers conectados al sistema. En cualquier caso, podrás mandar un mensaje a otro usuario con :send luser mensaje, y utiliza Ctrl+c para enviar el mensaje a luser.
Si usas :shout mensaje y lo envías con Ctrl+c, enviarás el mensaje a todos los usuarios conectados.
El sistema de correo electrónico interno de ITS puede usarse con :mail, o bien :msend para enviar a varios usuarios internos. Se finaliza el mensaje con Ctrl+c. Para leerlos podremos usar :rmail (lector en Emacs).
Comandos de ITS
He aquí una serie de equivalencias de comandos de UNIX a un equivalente para el ITS. En ITS el $ equivale a presionar la tecla tecla Escape.
Comando de UNIX Comando de DDT Comando con :
login: usuario luser$u :login luser
logout $$u :logout
TERM=vt52
:tctyp vt52
TERM=vt100
:crtsty vt100
clear
:clear
ls Ctrl+f :listf
ls directorio directorioCtrl+F :listf directorio
ls / Ctrl-R m.f.d. (fichero) :print m.f.d. (fichero)
ls *.foo Ctrl-R directorio: second foo :print directorio: second foo
more fichero Ctrl-R fichero :print fichero
mkdir directorio Ctrl+R directorio;..new. (udir) :print directorio;..new. (udir)
cd directorio directorio$$CTRL-S :cwd directorio
cp f1 f2 $Ctrl+r f1,f2 :copy f1,f2
rm fichero CTRL+o fichero :delete fichero
ln f1 f2 $Ctrl+o f1,f2 :link f1,f2
mv f1 f2 $$Ctrl+o f1,f2 :rename f1,f2
mv fichero directorio :move fichero,directorio
emacs emacsCtrl+K :emacs
ps $$v :listj
kill pid pid$Ctrl+x :job pid :kill
sudo -u u comando u$Ctrl+s comando
top peekCtrl+h :peek
Ctrl+u Ctrl+d
Ctrl+c Ctrl+g
Ctrl+z Ctrl+z
Ctrl+d Ctrl+c
fg $P :continue
bg Ctrl+p :proceed
Emacs
ITS contaba con el editor EMACS, un editor de texto que inspiró el GNU Emacs. Como tal los comandos son algo diferentes:
Juegos
El ITS cuenta con varios juegos. Con :advent te permitirá jugar la versión clásica de la aventura de texto. :wumpus era un juego para cazar la míticaa criatura Wumpus. :eliza y :doctor eran juegos de psiquiatría. Los juegos de tablero están presentes con :games,ckr (damas), :games;ocm, :chess y :games;chess2 (ajedrez), :go (ajedrez chino go) y el primer FPS multiusuario :games;maze, o :chase, un laberinto para dos jugadores. :cube es un juego de cubo de rubik. También está el juego de la vida de Conway con :games;mlife. El clásico trek puede jugarse con :games;trek, mientras que el viejo juego de adivinar números con :games;guess.
También puedes jugar la aventura de texto Zork, pero requiere tener un archivo en tu directorio para trabajar, de modo que debes ingresar:
:login luser
:print luser; ..new. (udir)
:create luser; msgs luser
Presiona Ctrl+c e ingresa:
:zork
Finalmente, podrás observar el mítico PDP Spacewar (se sale presionando varias veces con Ctrl+q o Ctrl+c):
Subsistemas
ITS es una plataforma de programación y virtualización que cuenta con gran cantidad de intérpretes y subsistemas. Podremos compilar C con :cc, usar Macsyma 1001 con :macsyma, contamos con :forth para dicho lenguaje, el intérprete de Macro Z80 con :macn80 y DEC Macro-10 con :macro-10, LISP con :lisp y :lisp11, Scheme con :scheme y LOGO con :llogo y :logas. :fail nos permite usar el ensamblador del SAIL, mientras que :cross permite usar un compilador cruzado para distintas microcomputadoras, pero existen muchos más.
A su vez, contaremos con una shell tipo Unix con :shell (lo abandonamos con q).
En tanto, podremos usar :finger, :telnet, :ftpu, :kermit, :xmodem, para tareas respectivas con dichas aplicaciones de transmisión de datos.
Naturalmente, podremos encontrar información en la Wiki de ITS.
permalink
17 february 2023
¿Cómo juego PixelWheels en Ubuntu?
El 9 de marzo de 1952, durante la inauguración del Autódromo "17 de Octubre", Juan Perón enseña cómo instalar y jugar PixelWheels en Ubuntu.
¡Trabajadores!
Son ciento veinte mil personas las que colman las gradas de este colosal autódromo. Las competencias internacionales que se desarrollan en Argentina y las grandes actuaciones que llevaban a cabo nuestros pilotos, hacían indispensable la construcción de un circuito que contara con la jerarquía que se merecía el automovilismo de la Patria.
Es así que este nuevo Autódromo "17 de Octubre" cuenta ya con 10 trazados distintos y la mayor infraestructura de seguridad que puede concebirse. El deporte motor nos convoca hoy ante tres pruebas, de entre la que destacarán la Fórmula Libre "Copa Perón", a 30 vueltas. Tengo aquí a Juan Manuel Fangio para muñequear una Ferrari 166FL. mientras que Froilán González lo hará con una Ferrari 166C. Y damos la bienvenida al carioca Francisco Landi con su Ferrari 125C.
Mi profesión es la de Conductor, para eso me he formado toda la vida (porque como político, soy un aficionado). Pero estos muchachos tienen mucha maña para tirar cambios porque se entrenan con Pixel Wheels. Se trata de un juego de carreras multijugador escrito por Aurélien Gâteau para la máquina virtual Java, y por tanto compatible con un sistema GNU con Linux provisto de tal aditamento.
La distribución de juego puede pagarse opcionalmente en su plataforma de descarga, pero por amabilidad de su autor, podremos hacernos con el juego de manera gratuita. Para ello nos dirigimos a la página de descargas de Pixelwheels y presionamos el botón rojo rectangular que aparecerá en nuestro navegador, en particular el que dice "Download".
Acto seguido podremos escoger un precio sugerido a pagar a la plataforma de descargas. Como nada de eso le llega al buenazo de Aurélien y al único signo $ al que debemos prestar atención es al del prompt del intérprete de comandos de GNU, podremos hacer click en el mensaje "No tanks, just take me to the downloads" ("No, gracias. Sólo llevame a las descargas").
El sistema nos llevará así a la página con los ficheros correspondientes a múltiples plataformas de cómputo. Pixel Wheels está escrito puede funcionar en GNU con Linux, y para ello debemos descargar el fichero pixelwheels-linux-stable.zip - haciendo click en el botón Download que lo indica. Tras unos segundos nos haremos con la última versión del mismo, que normalmente irá a parar a nuestra carpeta ~/Descargas/.
Una vez descargado los aproximadamente 80 megabytes del juego, podemos instalarlo. Recurriremos a la terminal para tal menester, abriendo una con Ctrl+Alt+T e ingresando los siguientes Comandos de Organización:
cd ~/Descargas/
unzip pixelwheels-linux-stable.zip
cd pixelwheels-0.25.1-linux64/
./install.sh
Normalmente el juego instalará un vínculo en /home/$USER/.local/ y se agregará a los juegos instalados de forma automática. Por tal motivo, podemos ejecutarlo desde Aplicaciones / Juegos / Pixel Wheels.
Al arrancar el juego se nos presentará un sencillo menú en castellano, donde podremos optar por jugar de a uno, o entre varios (hasta 4 jugadores). Asimismo, el modo de juego puede definirse entre carrera rápida, o modo campeonato, donde debemos disputar la serie de carreras.
Al preparar la carrera podremos elegir uno de los circuitos. Tres de ellos estarán disponibles al inicio, y los otros habremos de desbloquearlos.
Para correr necesitamos elegir un coche. A diferencia de las Ferraris de los muchachos, hay varios activados, desde un pistero, un patrullero, un rastrojero, etcétera. Cada uno de ellos tiene distintas características de pique, aceleración, agarre al piso, inercia, velocidad, etcétera. El resto podremos desbloquearlos conforme vayamos ganando carreras.
La carrera rápida es frenética y a tres vueltas: no bien el semáforo de la orden de largada, debemos ponerlo al taco. En mi rastrojero, cuando mando rebajes para curvar, el motor brama aullando "¡pe-róoon, pe-róooon!".
Podemos jugar de a dos en un teclado (e incluso de a cuatro, si sumamos dos gamepads o joysticks USB a la computadora).
El jugador 1 maneja con las flechas del cursor: dobla con las flechas de cursor izquierda/derecha, y acelera y frena con las flecha cursor arriba/abajo, a la vez que activa las opciones con la barra espaciadora y retrocede con la tecla Escape.
El jugador 2 usa las teclas dxcv: o sea que acelera con la tecla d y frena con la tecla c, mientras que gira a la izquierda con x y a la derecha con v. A la vez activa las opciones con la tecla Ctrl izquierda y retrocede con tecla q.
En este aspecto multijugador es donde el Pixel Wheels se torna mucho más competitivo y divertido, ya que funciona perfectamente incluso en las Netbooks con Huayra del Conectar Igualdad/Juana Manso.
Como su nombre lo indica, la estética de PixelWheels replica los clásicos juegos de 8 bits, y si bien no se caracteriza por su imaginería absolutamente pixelada, lo cierto es que no reinventa la rueda. Tiene un cierto parecido al libre Dust Racing 2, aunque también podremos recoger power-ups y encontrar "turbos" tirados en la pista, al estilo de SuperTuxKart. Al tomarlos podremos usar armas de energía y cohetazos para desbancar a nuestros oponentes.
Como novedad contamos ahora con una pista de sonido de música electrónica, que podemos regular en volumen o desactivar.
En fin, un excelente juego para hacerse un as del volante por $0.
permalink
16 february 2023
¿Cómo instalo yt-dlp-gui en Ubuntu?
¡Compañeros!
El cómputo sigue mas o menos las mismas premisas que la Política. Si en esta no debemos perder los principios, en nuestro sistema GNU con Linux no debemos perder el backend; el front-end responde a las necesidades tácticas. Es decir, los principios han de ser inconmovibles, en tanto que el método con el cual llegamos a la acción puede variar fluidamente de acuerdo a una percepción lúcida de la situación imperante.
Esto, que lo hemos reconocido y con lo cual operamos, también cuenta con un raciocinio que puede portarse a los sistemas similares a UNIX. Es que muchas de las herramientas más útiles cuentan con una sencillez espartana, pero donde la complejidad de la tarea lo requiera, contaremos con herramientas mucho más complejas, y ello las hará difíciles de dominar.
yt-dlp es una de ellas. Sin duda este programa para terminal es excelso para bajar videos de YouTube desde la terminal (así como otros sitios de contenidos agregados). Y si bien su uso es simple, una vez que demandamos extracciones de streams de audio por separado, diferentes codificaciones y demás, deja de ser moco de pavo.
Afortunadamente, podremos contar con un front-end gráfico que puede atemperar el problema al neófito. Tal es la tarea de yt-dlp-gui, una interfaz gráfica de usuario escrita en Python 3.9 que opera junto al yt-dlp y permite facilitar las operaciones de descargas de video.
Abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente bloque de comandos de organización para instalar todo lo necesario:
sudo apt update ;
sudo apt install ffmpeg -y
sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp ;
sudo chmod a+rx /usr/local/bin/yt-dlp ;
sudo yt-dlp --update
cd ~ ;
git clone https://github.com/dsymbol/yt-dlp-gui ;
cd yt-dlp-gui ;
pip install -r requirements.txt ;
cd app ;
pyinstaller --name=yt-dlp-gui --clean -y app.py
cd ~/yt-dlp-gui/app/dist/
cp -r yt-dlp-gui/ ~/.local/bin/
Una vez instalada la interfaz, por comodidad deberíamos crear un lanzador. Para ello vamos a Sistema / Preferencias / Aspecto y comportamiento / Menú principal. En la ventana Menú Principal, podremos seleccionar la categoría de menú Aplicaciones / Internet, y a continuación presionar el botón "+Nuevo ítem". Este abrirá el cuadro de diálogo Crear Lanzador. En el campo Nombre de dicho cuadro asignar le al lanzador "yt-dlp-gui", mientras que en el campo Comando o Órden debemos asignar la ruta /home/usuario/.local/bin/yt-dlp-gui/yt-dlp-gui.
Ahora podremos lanzar yt-dlp-gui desde Aplicaciones / Internet / yt-dlp-gui, con lo cual se abrirá su ventana.
El uso del programa es bastante sencillo. Debemos pegar el link (URL) del video que queremos descargar en el campo Link. Asimismo, en el campo Path debemos indicar la carpeta donde irán a parar los ficheros descargados (por ejemplo, /home/usuario).
Opcionalmente, el indicador Format nos desplegará un menú que nos permite escoger un formato preferido de descarga. La opción por defecto best elige el mejor, mp4 utiliza tal formato de video. Para audio y extracción de audio de un video contempla el formato mp3 (compresión con pérdida), wav (sin compresión), o flac (compresión sin pérdida).
En el campo filename podremos escoger un nombre de archivo a descargar (por ejemplo, video.mp4), o bien por defecto se indicaría una estructura de renombrado "%(title)s.(ext)s", que simplemente asigna el nombre o título de la pista de audio y la extensión escogida.
Una vez que incluimos la URL, ruta y nombre de archivo, podremos agregar el link a la cola de descarga presionando el botón "+" ("agregar"). Para iniciar la carga de los links ingresados en la lista, presionamos el botón Descargar.
El yt-dlp-gui usará el programa yt-dlp para ir descargando secuencialmente los elementos según su posición están en la cola. Los archivos descargados quedarán en la carpeta que le solicitamos.
Es importante destacar que el módulo de descarga es siempre yt-dlp, y como tal este debe actualizarse manualmente para poder afrontar los desafíos que pudiesen surgir en los distintos agregadores de contenidos. Normalmente la actualización de dicho módulo no es automática, sino que debe realizarse manualmente en la terminal con el siguiente comando:
sudo yt-dlp --update
Una vez que esté instalado el programa, opcionalmente podríamos eliminar el clon local del repositorio con:
rm -r yt-dlp-gui/
permalink
15 february 2023
¿Cómo instalo yt-dlp-gui en Ubuntu?
¡Compañeros!
El cómputo sigue mas o menos las mismas premisas que la Política: no debemos perder el backend, ya que el front-end responde a las necesidades tácticas. Los principios han de ser inconmovibles, en tanto que el método con el cual llegamos a la acción puede variar fluidamente de acuerdo a la fluidez de la situación imperante.
Esto, que lo hemos reconocido y con lo cual operamos, también cuenta con un raciocinio que puede portarse a los sistemas similares a UNIX. Vean señores, muchas de las herramientas más útiles cuentan con una sencillez espartana, pero donde la complejidad de la tarea lo requiera, contaremos con herramientas mucho más complejas, y ello las hará difíciles de dominar.
yt-dlp es una de ellas. Sin duda este programa para terminal es excelso para bajar videos de YouTube desde la terminal (así como otros sitios de contenidos agregados). Y si bien su uso es simple, una vez que demandamos extracciones de streams de audio por separado, diferentes codificaciones y demás, deja de ser moco de pavo.
Afortunadamente, podremos contar con un front-end gráfico que puede atemperar el problema al neófito. Tal es la tarea de yt-dlp-gui, una interfaz gráfica de usuario escrita en Python 3.9 que opera junto al yt-dlp y permite facilitar las operaciones de descargas de video.
Abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente bloque de comandos de organización para instalar todo lo necesario:
sudo apt update ;
sudo apt install ffmpeg -y
sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp ;
sudo chmod a+rx /usr/local/bin/yt-dlp ;
sudo yt-dlp --update
cd ~ ;
git clone https://github.com/dsymbol/yt-dlp-gui ;
cd yt-dlp-gui ;
pip install -r requirements.txt ;
cd app ;
pyinstaller --name=yt-dlp-gui --clean -y app.py
cd ~/yt-dlp-gui/app/dist/
cp -r yt-dlp-gui/ ~/.local/bin/
Una vez instalada la interfaz, por comodidad deberíamos crear un lanzador. Para ello vamos a Sistema / Preferencias / Aspecto y comportamiento / Menú principal. En la ventana Menú Principal, podremos seleccionar la categoría de menú Aplicaciones / Internet, y a continuación presionar el botón "+Nuevo ítem". Este abrirá el cuadro de diálogo Crear Lanzador. En el campo Nombre de dicho cuadro asignar le al lanzador "yt-dlp-gui", mientras que en el campo Comando o Órden debemos asignar la ruta /home/usuario/.local/bin/yt-dlp-gui/yt-dlp-gui.
Ahora podremos lanzar yt-dlp-gui desde Aplicaciones / Internet / yt-dlp-gui, con lo cual se abrirá su ventana.
El uso del programa es bastante sencillo. Debemos pegar el link (URL) del video que queremos descargar en el campo Link. Asimismo, en el campo Path debemos indicar la carpeta donde irán a parar los ficheros descargados (por ejemplo, /home/usuario).
Opcionalmente, el indicador Format nos desplegará un menú que nos permite escoger un formato preferido de descarga. La opción por defecto best elige el mejor, mp4 utiliza tal formato de video. Para audio y extracción de audio de un video contempla el formato mp3 (compresión con pérdida), wav (sin compresión), o flac (compresión sin pérdida).
En el campo filename podremos escoger un nombre de archivo a descargar (por ejemplo, video.mp4), o bien por defecto se indicaría una estructura de renombrado "%(title)s.(ext)s", que simplemente asigna el nombre o título de la pista de audio y la extensión escogida.
Una vez que incluimos la URL, ruta y nombre de archivo, podremos agregar el link a la cola de descarga presionando el botón "+" ("agregar"). Para iniciar la carga de los links ingresados en la lista, presionamos el botón Descargar.
El yt-dlp-gui usará el programa yt-dlp para ir descargando secuencialmente los elementos según su posición están en la cola. Los archivos descargados quedarán en la carpeta que le solicitamos.
Es importante destacar que el módulo de descarga es siempre yt-dlp, y como tal este debe actualizarse manualmente para poder afrontar los desafíos que pudiesen surgir en los distintos agregadores de contenidos. Normalmente la actualización de dicho módulo no es automática, sino que debe realizarse manualmente en la terminal con el siguiente comando:
sudo yt-dlp --update
Una vez que esté instalado el programa, opcionalmente podríamos eliminar el clon local del repositorio con:
rm -r yt-dlp-gui/
permalink
14 february 2023
¿Cómo juego al ajedrez online desde la terminal de Ubuntu?
Recordando el "match telegráfico" de Ajedrez entre el Jockey Club de La Plata y el Manhattan Chess Club neoyorquino, Juan Perón explica cómo jugar ajedrez en línea desde la terminal de Ubuntu.
¡Estimados Maestros y Grandes Maestros!
Las características que hacen del Ajedrez el más respetado de los deportes, lo sustancian de las virtudes más universales.
No solo es un juego de estrategia en el que se enfrentan dos jugadores, cada uno de los cuales tiene 16 piezas de valores diversos que pueden mover, siguiendo ciertas reglas, sobre un tablero dividido en cuadrados blancos y negros. El objetivo de "derrocar al Rey" propone la bondad de agilizar la mente, sino que la lid sobre el tablero bien puede consagrar la amistad entre sus muy temporales oponentes.
Ha sido a través de la historia que el más duradero de los kriegsspiel ha propuesto los mayores desafíos, y - por que no - divertimentos. Como tal, hubiese sido extraño que nuestro país escapase a estas visiones positivas. El Juego Ciencia se había popularizado en estas tierras ya desde la épocas coloniales, y una vez establecida la Nación no puede ignorarse la labor del ciertamente oligárquico Club del Progreso. A este le siguieron una buena cantidad de círculos y clubes ajedrecísticos de distintas proveniencias y montas, con fuerte jugadores. De todos ellos, sin duda el Club Argentino de Ajedrez (1905) y el vanguardista Círculo de Ajedrez de Buenos Aires (1916) contaron con temibles mesas. En 1922, la formalización de la unidad entre veintidós de estos círculos vio nacer a la Federación Argentina de Ajedrez (FADA), cuya labor se vio aureolada en la realización del Campeonato Mundial de Ajedrez de 1927, sede del legendario choque Capablanca-Alekhine.
Sin embargo, distintas acepciones fueron dando lugar un "cisma" federativo local. La solución a tal división no podía venir sino de mano del Justicialismo, lo que confluyó en lo que podríamos describir como una Segunda Era del Ajedrez Argentino, regada con merecidos apoyos y subvenciones gubernamentales. La Cámara de Diputados aprobó un subsidio anual para la Federación Argentina De Ajedrez (FADE) por $ 50.000, en tanto que el Club Argentino de Ajedrez adquirió su sede de Paraguay 1858 merced de un subsidio del Congreso de la Nación.
Esto permitió elaborar una fuerte serie de torneos locales, culminados por encuentros internacionales auspiciados por la FIDE. El Torneo Internacional de Mar del Plata se constituyó en un gran certamen a equipos, con 18 Grandes Maestros de altísimo calibre. Fue ganado por Najdorf en gran forma, seguido por Ståhlberg, Eliskases, Pilnik, Euwe, Julio Bolbochán. Posteriormente se jugó el fortísimo Sextangular Buenos Aires/La Plata, coronando a Ståhlberg.
El IV Torneo Memorial Roberto Grau fue algo más fuerte que el del año anterior, dominando Ståhlberg. Rossetto se impuso en el Campeonato Argentino.
Sin duda uno de los logros que permitieron las subvenciones fue maridar al ajedrez con los desarrollos tecnológicos. En este marco es de especial trascendencia el mítico match telegráfico Jockey Club de La Plata-Manhattan Chess Club de 1947 donde el equipo argentino integrado por Ståhlberg, Najdorf, Julio Bolbochán, Pilnik, Maderna, Michel, Rossetto, Guimard, García Baladó y Marcos Luckis dio por tierra con el seleccionado neoyorkino a través de terminales teletipo, en un épico 6½:3½.
Difícilmente este tipo de matchs ajedrecísticos "por télex" podrían haberse extendido como una Realidad Efectiva si no fuese por el alcance de las redes de datos en materia de la lúdica. Un sistema de tipo UNIX, donde un computador hace las veces de tablero, reloj, ujier y árbitro, nos permitió replicar e incluso superar esta propuesta, máxime si consideramos la posibilidad que ofrece el acceso público. Este logro se conoce como FICS, un servidor libre de ajedrez en la red de datos.
Pues bien señores, hoy todo el mundo puede usar dicho programa desde múltiples avenidas, incluyendo la popular freechess.org, lo que permite jugar contra otros parroquianos electrónicos. Si bien FICS acepta perfectamente clientes gráficos libres (incluyendo al superclásico xboard, pychess o Gnome Chess), no escapa a lo interesante jugar "a la télex", usando una terminal enlazada a un sistema GNU con Linux.
Es que todo sistema GNU que se precie cuenca aún con un cliente capaz de enlazar a redes a través del viejo protocolo Telnet. Este podrá utilizarse para establecer el enlace que nos interesa.
Para ello abrimos una terminal con Ctrl+Alt+t y llamamos al servidor con el cliente de telnet. Podremos hacerlo ingresando el comando:
telnet freechess.org
Al establecer el enlace telemático, con la potencia de los baudios se nos presentará en pantalla el aviso de login al sistema ajedrecístico remoto FICS de freechess.org:
_ __ __ __
| | / /__ / /________ ____ ___ ___ / /_____
| | /| / / _ \/ / ___/ __ \/ __ `__ \/ _ \ / __/ __ \
| |/ |/ / __/ / /__/ /_/ / / / / / / __/ / /_/ /_/ /
|__/|__/\___/_/\___/\____/_/ /_/ /_/\___/ \__/\____/
^^__ _____________________ _ _ _
/ - \_ / ____/ _/ ____/ ___/ _ | || || |
<| __< / /_ / // / \__ \ (_) |_______|
<| \ / __/ _/ // /___ ___/ / _ \__ ___ /
<| \ /_/ /___/\____//____/ (_) |___|_|
<|______\ |_|___|
_|____|_ ====================================== |___|_|
(________) freechess.org ---- 54.39.129.129 (_______)
/________\ ====================================== /_______\
(Login screen designed by Alefith)
****** Welcome to the Free Internet Chess Server at freechess.org ******
Webpage: http://www.freechess.org
Head admin : mattuc Complaints to : complaints@freechess.org
Server location: freechess.org Server version : 1.25.20
If you are not a registered player, enter guest or a unique ID.
(If your return key does not work, use cntrl-J)
login:
Naturalmente si ya tuviésemos un usuario registrado podríamos ingresar con el nombre de usuario específico y una contraseña. Sin embargo, al tratarse de un ordenador público podremos perfectametne utilizar un nada pretencioso usuario “invitado”. Para ello debemos logueamos como "g" o "guest".
Con este recibiremos un alias del tipo Guestxxxx podremos darnos de alta y acercarnos a un tablero para jugar partidas sin obtener puntaje (como quien va a la plaza a jugarle a los jubilados).
Convenir partida
Una vez ingresado al servidor por Telnet, veremos el intérprete de comandos del servidor ajedrecístico FICS, indicado con prompt:
fics%.
Ahora bien, existen varias maneras de localizar un oponente:
Al entrar a un servidor ajedrecísitico tan concurrido como freechess.org, normalmente deberían ir apareciendo las solicitudes de otros concurrentes invitados, que desea jugar en alguna modalidad de juego. Estas aparecerían según este formato:
GuestQRXX (++++) seeking 15 0 unrated standard ("play 13" to respond)
Esto indica que el jugador GuestQRXX quiere jugar una partida en el tablero 13. Para jugar contra este jugador, en el prompt fics% deberíamos ingresar el comando play 13.
Además:
Podemos ver quién está en línea con el comando who, y usar el comando match con el nombre del jugador en línea que nos interesa.
Podremos usar el comando seek para buscar un jugador que ya conocemos.
Podremos usar el comando de chat general cshout y gritar en el servidor "Quiero jugar una partida del tipo...".
Nuestro oponente recibirá en pantalla nuestra solicitud y podrá aceptarla o rechazarla. De aceptarla, el servidor determinará al azar el color de piezas de cada contrincante. Cada uno recibirá un tablero inicial en su pantalla, y las Blancas podrán iniciar la partida.
(Naturalmente, también nos podrían proponer una partida, la cual podremos aceptar o declinar).
Jugar al ajedrez
Durante la partida a través FICS con Telnet, debemos mover las piezas en el tablero introduciendo varias órdenes o solicitudes. Para ello introducimos comandos en el prompt FICS%.
Cada vez que el oponente mueve, el servidor enviará la nueva posición del tablero a ambos oponentes.
Los escaques del ajedrez están divididas en filas del tablero, que van de la a a la h (siendo la a el lado de Blancas y la h el lado de Negras), y columnas del tablero, que van de la 1 a la 8 (siendo la 1 el lado de Blancas y la 9 el de Negras).
Notación algebraica
En la notación algebraica, cada escaque está definido por sus coordenadas fila-columna. En notación algebraica, cada pieza del ajedrez está representada por una letra propia, según su nombre en inglés:
Símbolo Pieza
k rey
q reina
b alfil
n caballo
r torre
p peón (aunque realmente no se usa la “p”).
Por este motivo, el tablero que representa la jugada se ilustria de esta manera (con símbolos ASCII):
---------------------------------
8 | | *R| | | *R| | *K| |
|---+---+---+---+---+---+---+---|
7 | *P| | | *B| *P| *P| *B| *P|
|---+---+---+---+---+---+---+---|
6 | | | | | | *N| *P| |
|---+---+---+---+---+---+---+---|
5 | *Q| | | *P| | | B | |
|---+---+---+---+---+---+---+---|
4 | | | | | | P | | |
|---+---+---+---+---+---+---+---|
3 | | | N | B | P | | | |
|---+---+---+---+---+---+---+---|
2 | P | P | | | Q | | P | P |
|---+---+---+---+---+---+---+---|
1 | | | R | | | R | K | |
---------------------------------
a b c d e f g h
Según este ejemplo, las Blancas se disponen en la parte inferior del tablero, mientras que las Negras lo hacen en la parte superior. Los símbolos de las piezas aparecen en mayúsculas, mientras que el símbolo denota que es una de las piezas Negras. El Rey de las Negras (K) está en el escaque g8; el rey de las Blancas (K) está en el escaque g1, etcétera. Juegan las Negras.
Movidas
Podemos usar varias notaciones para mover las piezas.
Aquellos jugadores que deseen emplear la Notación algebraica, pueden definir en su comando las piezas a mover y los escaques. Supongamos que las Negras desean mover su caballo (N) del escaque f6 al escaque e4. La movida algebraica a ingresar sería Ne4 (o directamente ne4, pues el servidor de ajedrez es insensible a mayúsculas). Como normalmente siempre avanzan sobre una columna, para mover peones el intérprete es sensato, por lo cual no suele ser necesario consignar p para denotar al peón; basta con indicarle el escaque al cual queremos moverlo. Suponiendo que las Negras deciden mover el peón (P) del escaque h7 al escaque h6, el comando sería h6 (aunque opcionalmente se puede especificar al peón, indicando Ph6). Para hacer enroque corto (lado del rey) usamos O-O, mientras que para enroque largo usamos O-O-O.
Este método funciona bastante bien si somos ágiles con la notación algebraica inglesa. Es importante al principio elegir jugadas estándar en lugar de rápidas ("blitz"), pues puede llevarnos algunos segundos introducir la jugada y ser ágiles con la notación algebraica.
Sin embargo, debemos tener cuidado con aquellas jugadas que resultan ambiguas en esta notación. Durante el juego podría suceder que hubiesen varios peones, caballos, torres e incluso reinas en capacidad de desplazarse a un mismo escaque de destino. Ante tales casos no alcanzaría con ingresar simplemente Nd4, Rd4 o Qd4 pues se produciría una ambigüedad que el servidor estaría incapacitado de discernir correctamente (no distinguiría cuál de las piezas de dicho tipo es la que debe mover). Ante tal incidencia, debemos consignarle específicamente cuál de es la pieza a mover. Esto se hace de varias maneras:
Indicando las coordenadas de fila o columna de la pieza en cuestión (cualquiera que aclare la posición). Por ejemplo, en caso que las Negras tuviesen caballos en los escaques c2 y e2, ambas piezas podrían moverse al escaque d4. Por ello para definir el movimiento del caballo del escaques c2 a d4, conviene indicar Ncd4, donde la c aclara cuál de los caballos debe mover (en este caso, el caballo situado en la fila c). Si fuese el caso que ambos caballos se sitúan en la fila c, entonces se debe indicar la coordenada algebraica completa de la pieza interesada, ya sea N2d4 o bien N6d4.
Describir la coordenada algebraica completa para la movida, esto es: indicar el tipo de pieza, el escaque de origen y el escaque de destino; por ejemplo Nb6c4.
Captura de piezas
En notación algebraica, la captura de piezas se denota con un x (se pronuncia en su acepción algebraica como "por").
Supongamos que las Negras desean usar la torre de las Negras (R*) situada en b8 para comer el peón (P) de las Blancas situado en b2; en la notación algebraica inglesa tradicional la movida se escribe como Rxb2. Sin embargo, el servidor podría interpretar esto tanto como:
una movida simple Rb2, y sabría que es una captura,
RxP pero no sabría cuál escaque se quería decir (ya que en esta posición la torre puede capturar únicamente un peón).
Nuevamente podría suceder que en ciertas posiciones de tablero tanto el peón de una fila b y un alfil pudiesen moverse hacia un mismo escaque. En tal caso el intérprete confundiría el significado de la b (ya que puede referirse tanto al peón en la fila b o un alfil de Blancas, B). En tal caso, si ingresamos bc6 se produciría tal ambigüedad y el servidor se ve incapaz de saber cual de las dos piezas realizará la captura (si el peón en fila b o el alfil). Para subsanar esto debemos consignar qué pieza es la que consagrará la captura, indicandolo como pxc6.
Naturalmente de esto se desprende el otro caso que puede dar lugar a movida ambigua: el concierne a cuál pieza deseamos comer.
Por ejemplo, Rxb4 ¿significa “Torre captura en escaque b4” o “torre captura alfil en la columna 4”? Para evitar tales malentendidos, debemos evitar especificar dicha captura como una movida algebraica simple desde un escaque a otro (por ejemplo, Rb4), y especificarla la movida de manera completa (indicando la pieza a mover, su posición inicial y la pieza situada en la posición de destino final, de esta manera: RxPb4)
En cualquier caso, para evitarse problemas con las movidas ambiguas, también es posible utilizar la poco tradicional notación de computadora que os explicaré a continuación.
Notación computarizada
La manera más simple (aunque tal vez no la más ágil o utilizada) es usar la notación de computadora. Esta es puramente en base al sistema de coordenadas, y consconstan de la siguiente sintaxis:
escaque_de_origen-escaque_de_destino
Por ejemplo, en la posición de tablero indicada, para mover la torre de Negras desde b8 a b2 deberíamos ingresar simplemente b8-b2.
Como se ve, no se usan las letras identificadores de las piezas, simplemente los escaques, y por este motivo las movidas ingresadas en notación de computadora no pueden ser ambiguas, simplemente son más largas de ingresar y no son descriptivas.
Comandos de solicitudes
Durante la partida también será necesario introducir algunos comandos de solicitudes en el prompt FICS, que se utilizan para realizar determinadas solicitudes al oponente. El oponente debería aceptarlas para que ocurran. Estos comandos son:
Comando Función
abort Solicita cancelar el juego
adjourn pide guardar y detener la partida para poder seguirla más adelante
draw Solicita tablas (declarar empate)
flag finaliza la partida porque el oponente se quedó sin tiempo
moves pide al servidor FICS que le envíe la lista de movidas de la partida
pause solicita suspender temporalmente la partida, sin detenerla para continuarla mas adelante
promote configura la pieza a coronar cuando el peón llegue a coronación
refresh Presenta la posición actual del tablero
resign Otorga la victoria al oponente, y finaliza la partida
say Se comunica con el oponente actual (o el último)
switch solicita que su oponeten cambie de piezas (color)
takeback solicita que una o más movidas sea retrocedidas (cancela movidas)
unpause solicita que una partida en pausa continúe
withdraw cancela una solicitud que ha realizado (siempre que no hubiese sido concedida)
Podremos decirle algo al contrincante con el comando say. Naturalmente, también existen muchos más comandos que se pueden aprender a través del comando general de ayuda help.
Una vez dominado el entorno, podremos incluso jugar partidas con más de un contrincante, a la manera de un torneo de exhibición en simultáneas. Para ello deberíamos introducir el comando simuls.
Para cerrar la sesión, ingresa el comando logout
Logging you out.
.::.
_()_ _::_
_O _/____\_ _/____\_ _O
_ _ _ ^^__ / //\ \ / \ / / //\ ^^__ _ _ _
| || || | / - \_ { } \____/ \____/ { } / - \_ | || || |
|_______|<| __< \___/ (____) (____) \___/ <| __< |_______|
|__ ___ |<| \ (___) | | | | (___) <| \ \__ ___ /
|___|_| <| _ \ |_| |__| |__| _|_| <|_ \ |___|_|
|_|(_)| <|__(_)_\ /(_)\ /(_) \ (_) \ (_) \ <(_)____\ (_)|___|
|_(___) _|(___)_ ((___)) ((___)_) (___)__) (___)__) (___)__|_(___)_|_|
(_ _|_|_)(_ _|_|_ )( _|_|_ )(__|_|_ _) _|_|____)_|_|____)_|_|_ ___)|_|_____)
/_(_____)/_(_____)\/(_____)\/(_____)_\(_____)__(_____)__(_____)__(_____)___\
/_____\ /_____\ /_____\ /_____\ /_____\ /_____\ /_____\ /_____\
(Logout screen by Alefith)
Thank you for using the Free Internet Chess server (http://www.freechess.org).
permalink
13 february 2023
¿Cómo reemplazo unidades de disco NVMe de un RAID en Ubuntu Server?
Juan Perón expone sobre la necesidad de integrar la lucha a la vez que explica cómo reemplazar las unidades de disco NVMe en Ubuntu Server.
¡Trabajadores!
Las dicotomías del Mundo parecen impulsar al hombre hacia su final destrucción. Se lo ha apremiado artificialmente hacia un híper-consumismo cuyo único sentido es generar una clase de ultra-ricos solventados por una descomunión de ultra-pobres. A su vez, ello ha requerido de la súper-explotación de los recursos ecológicos de nuestro Planeta, y de la ultra-dependencia política de los Pueblos que lo componen.
La acción irresoluta del hombre contra el hombre parece querer consumar una lucha enconada, y se le ha ofrecido como solución la competencia entre esclavos por el afecto de un amo al que siquiera conocen, y de cuyos frutos jamás podrán gozar. Muy pocos guardar alguna duda que el diseño mismo de esta lid es el culpable de estas circunstancias.
Ante estas construcciones artificiosas no podemos mas que valernos de la conciencia natural de los Pueblos, que por instinto han comprendido que todo lo perderán si no asocian a su existir mancomunado una prédica social de integración, en un sentir que - si no es humano - al menos ha de ser justo.
Hemos hallado coto a esta situación en la Justicia Social. En esto no he sido los únicos, pero si hemos sido los primeros en desarrollarla e implementarla en este rincón del Globo.
Es indudable que desde un comienzo nos dimos en tornar realidad efectiva una solución de memoria de masa en base a discos rígidos con acceso al Pueblo. Esto ha sido así porque oligárquicas compañías sin Patria ni Bandera que lo intentaban lo hacían con el único propósito de robar datos y explotar metadatos.
Nuestro mérito en un clúster de datos para el Pueblo nos permite en cambio almacenar para trabajar, y resguardar para luchar. Tal ha sido nuestra previsión, y no nos hemos equivocado.
Cuando surgió la necesidad, contábamos ya con una herramienta, que de afilarse puede constituir un arma. Es que nuestro servidor Ubuntu de acceso popular en las redes de datos no contaba con la posibilidad de instalarle novedosos discos NVMe, sino que daba uso a las sencillas unidades SATA en forma de discos rígidos mecánicos. Pero la expansión que permite un Justicialismo en anhelo de lucha le permite integrar una placa controladora para discos NVMe que permite darle al Pueblo aquello a lo que antes sólo accedía el oligarca. Es posible así munirle hasta cuatro discos de estado sólido NVMe. Con unidades de 240GB cada uno permitían totalizar próximo a un Terabyte, erogando una velocidad cinco veces superior a la de los discos de estado sólido SATA2, y unas veinticinco veces superior a las de los viejos discos rígidos mecánicos, a la vez que se guardaba la información del daño esperable y lógico al que la someten las operaciones mecánicas. Por demás, su funcionamiento es totalmente silencioso.
La Doctrina que hemos creado permanece irresoluta, pero el avance de la técnica puesta a nuestra disposición nos permite tomar la decisión de reemplazar dichas unidades de referencia por cuatro más veloces y mayores, cada una ya de 1 Terabyte. Para ello recurriremos a desacoplarlas de la controladora, y operarlas individualmente según un modo de redundancia RAID que creamos convenientes para nuestras necesidades. Las viejas unidades de 240 nos servirán perfectamente para nuevas laptops "de combate" que disponían de los zócalos pertinentes pero no de discos.
Si bien el armado de cero de un servidor o un clúster RAID no opone gran resistencias, el planteo de reemplazar las unidades NVMe del conjunto de arranque RAID1 en Ubuntu Server (con datos propios y ajenos) constituye en cambio un desafío mucho mayor, al que debemos encarar como si de discos rígidos en uso se tratara. No es algo que puede hacerse "a tontas y a locas": en efecto, debemos hacer caso al procedimiento de realizar una copia de resguardo, tomar nota del particionado actual las unidades, y luego reemplazarlas físicamente, para sincronizar las unidades nuevas.
En este caso el servidor contaba con Ubuntu Server en cuatro unidades de disco de estado sólido NVMe, conocidas como nvme0n1, nvme1n1, nvme2n1 y nvme3n1, divididas en pares según el estándar raid1 (según este, las particiones de las unidades se duplican pero el uso equivale al del disco de menor capacidad del conjunto).
El par de unidades de 240GB que forman el conjunto raid1 cuentan con particionado para que las mismas operen de unidades de arranque, según la siguiente estructura:
UEFI 512M
md0 / boot 1GB
md1 / LVM <resto del disco>
La idea es replicar esto en las unidades NVMe nuevas.
Antes de comenzar, instalaremos en el servidor los programas de administración de discos (si es que no los tuviésemos a mano ya):
sudo apt install mdadm parted smartctl sfdisk efibootmgr
En primer lugar probamos que todas las unidades NVMe se encuentren realmente montados y en línea como deberían. Para ello introducimos el comando:
cat /proc/mdstat
...ante lo cual el sistema nos devuelve algo como:
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 nvme0n1p2[3] nvme1n1p2[2]
x blocks super 1.2 [2/2] [UU]
md1 : active raid1 nvme1n1p3[2] nvme0n1p3[3]
x blocks super 1.2 [2/2] [UU]
bitmap: 3/7 pages [12KB], xKB chunk
Esto nos asegura que las unidades de disco se encuentran montadas como conjunto raid1. Debe indicarnos [UU] y no [U_] o algo similar.
Es prudente utilizar por ejemplo el comando smartctl -ia /dev/nvme0, smartctl -ia /dev/nvme1, etc, con el fin de tomar nota de los números de serie de las unidades. En mi caso particular permite delimitar esto con seguridad cuál unidad NVMe específica es la que se reemplaza (ya que físicamente son todas iguales, y el orden de los conectores en la placa controladora no es correlativo, por alguna decisión de diseño).
Acto seguido, como generamos una copia de respaldo de la partición EFI de 512MB que contiene el sector de arranque, la cual necesitaremos posteriormente (no viene mas resguardarla en un pendrive):
dd if=/dev/nvme0n1p1 bs=4M of=/root/PARTICION_EFI.img
Escogemos ahora algunas de las unidades y la ponemos fuera de línea (una de las ventajas interesantes de las unidades NMEe):
mdadm /dev/md0 --fail /dev/nvme0n1p2 --remove nvme0n1p2
mdadm /dev/md1 --fail /dev/nvme0n1p3 --remove nvme0n1p3
Ahora reemplazamos físicamente una de las unidades NMVe en el servidor. Ya que estamos puede ser una buena idea actualizar el firmware de la unidad nueva (si es que existe un binario disponible en el sitio del fabricante). En este caso las unidades se colocan en uno de los cuatro zócalos de la controladora tras remover un disipador metálico atornillado y ajustar un pin de retención.
Una vez emplazada la nueva unidad NVMe, colocada la placa nuevamente e iniciado el servidor desde la unidad restante, copiaremos la tabla de particiones de dicha unidad restante (que era un RAID duplicado) a la nueva. Y a continuación generaremos nuevos UUIDs (identificadores únicos de unidad) nuevas para todas sus particiones:
sfdisk -d /dev/nvme1n1 | sfdisk /dev/nvme0n1
sgdisk -G /dev/nvme0n1
Hecho esto, podremos volver a agregar estas dispositivos al conjunto del RAID1:
mdadm --manage /dev/md0 --add /dev/nvme0n1p2
mdadm --manage /dev/md1 --add /dev/nvme0n1p3
Tras este procedimiento, el RAID comenzará lgicamente a sincronizar en segundo plano todas las particiones a la unidad "pelada", como un loco (le llevará un tiempo). Podríamos monitorear el status de dicha reconstrucción del RAID introduciendo un comando como:
watch cat /proc/mdstat
Si la reconstrucción RAID se ve sumamente lenta, es probable que se encuentre limitada por software en el servidor a velocidades de unos 200 MB/segundo (11 GB/minuto, algo típico para evitar sobre-exigir de las unidades de disco de estado sólido, y no presentar inconvenientes en el caso de ambientes de acceso en red). Sin embargo, en este caso de mantenimiento vigilado podríamos solicitar que la carga máxima de trabajo de la unidad se eleve muy por encima de tal valor de precaución, lo que podría redundar en una velocidad máxima por ejemplo 1.600MB/segundo (~94 GB/minuto, dependiendo de la velocidad del controlador de discos). Esto podría hacerse con:
echo 1600000 > /proc/sys/dev/raid/speed_limit_max
De esta forma podremos lograr una sincronización completa de 1TB en 11 o 12 minutos, a costa de una mayor generación de calor. Naturalmente podríamos escoger un valor de 800000 como compromiso; en operación normal con Ubuntu, prácticamente no genera calor. En este caso, el disipador provisto redunda en una buena refrigeración momentánea (las unidades NVMe en este regímen generan bastante más calor, y el disipador lo contiene momentáneamente por unos siete y ocho minutos).
Una vez que la reconstrucción RAID haya concluido, necesitaremos reparar la EFI, comenzando por copiar de nuevo la imagen de partición EFI que respaldamos anteriormente:
dd if=/root/PARTICION_EFI.img bs=4M of=/dev/nvme0n1p1
Asimismo, debemos reparar el arrancador grub:
update-grub
grub-install /dev/nvme0n1
Y finalmente reinstalamos la opción de arranque UEFI. En Ubuntu esto se hace con:
efibootmgr -v | grep ubuntu # solo muestra una entrada
efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "ubuntu" --loader "\EFI\ubuntu\shimx64.efi"
Una vez concluido esto, deberíamos contar dos entradas "ubuntu" en el efibootmgr, una para cada unidad NVMe. Esto debería ser todo para un simple reemplazo de unidades en el RAID1.
Como comprobación cruzamos los dedos e intentamos reiniciar el servidor, de modo de asegurar que el arranque con UEFI se produce correctamente desde cualquiera de los dos unidades NMVe.
Naturalmente, si necesitáramos reemplazar otras unidades en un conjunto con mayor número de discos deberíamos seguir el mismo procedimiento funcional, utilizando en cambio el designador de unidad nvme1n1.
Redimensionado de Disco NVMe
En este caso particular, las nuevas unidades NVMe no sin similares, sino mayores que las anteriores, lo que permiten incrementar el tamaño del conjunto RAID1 hasta 1 terabyte. Para delimitar este cambio habremos de utilizar el programa parted. Primero sacamos de línea la unidad y luego la abrimos con parted:
mdadm /dev/md1 --fail /dev/nvme0n1p3 --remove nvme0n1p3
parted /dev/nvme0n1
Y usamos el comando resizepart del programa parted para cambiar el tamaño de la partición desde los ~240GB anteriores hasta los ~960GB.
Conforme lo hayamos definido, agregamos el disco nuevamente al conjunto RAID1:
mdadm --manage /dev/md1 --add /dev/nvme0n1p3
Ahora aguardamos que se produzca la resincronización del RAID (podemos usar cat /proc/mdstat para comprobarlo) y luego agrandamos el conjunto RAID con el comando grow hasta su máximo posible:
mdadm --grow /dev/md1 --size=max
Luego, necesitaremos reformular el tamaño del sistema de archivo.
En el caso de que hubiese sido particionado de tipo GPT simplemente deberíamos ejecutar
resize2fs /dev/md1
Sin embargo, en este caso que el esquema RAID cuenta con una estructura de particionado LVM mas avanzado, al cual se adosan las un particionado de formato ext4, por lo cual utilizamos:
pvresize /dev/md1
lvextend -L +1G /dev/vg-md1/lv-root
resize2fs /dev/vg-md1/lv-root
Y ahora ya podremos contar con un servidor con 1TB en dos discos de arranque NVMe Gen2 en el conjunto RAID1 (y en mi caso, otro conjunto RAID con 2 discos mas para otros usos). Naturalmente, estos también deben ser respaldados, todo sea por la protección que merecen los datos del Pueblo. Así podemos buscar la Tikún Olam, como dicen los judíos.
permalink
12 february 2023
¿Cómo puedo usar un émulo del XEDIT de VM/CMS en Ubuntu?
En la típica visita del Día del Niño a la Casa de Gobierno, Juan Perón regala chocolate caliente y enseña cómo utilizar el editor de texto THE en Ubuntu.
A los niños les gusta ponerse calificativos. Los hay ortodoxos, los hay heterodoxos, los hay combativos, los hay contemplativos, pero todos juegan. Algunos usan DEC y habrá siempre otros que usen equipamiento de potencia IBM. No podemos ser sectarios, ya que a todos podremos instalarles GNU si lo proponemos.
No caben dudas para nadie que el viejo editor XEDIT era uno de los instrumentales en los mainframes del Gigante Azul. Contaba con facilidades para el trabajo interactivo, pero especialmente destacaban las funciones de operación diferida, que permitía contactar a un mainframe remoto a través de videoterminales, y ejecutar allí un trabajo de edición preparado. Esto permitía programar en ellas un fichero de macro con los cambios escritos en un lenguaje específico - REXX era uno de los favoritos - y luego efectuar modificaciones en un santiamén a través de uina mera llamada telefónica de escasos segundos.
Si bien con el advenimiento de las comunicaciones de datos de banda ancha, esta modalidad de trabajo podría parecernos innecesaria, nunca serán inexistentes las ocasiones donde podría anhelarse un herramental de este tipo, considerando que anteriormente sólo podía gozarlo el oligarca. Pudiendo elaborar nuevas y más módicas soluciones, podremos utilizarlas según dicha costumbre de obrar, pues si es para sumar, todo sirve.
Nuestro Movimiento es uno que hace de una necesidad un derecho, y podremos otorgarlo con la misma facilidad y efecto con el que uno da chocolate caliente a un niño.
THE ("El Editor Hessling") es un editor de texto que opera a través de órdenes en la línea de comandos y combinaciones de teclas. Fue concebido en 1991 replicando al XEDIT (1980), Editor intrínseco del viejo sistema tiempo de cómputo compartido de IBM, el VM/CMS. Como este, también representa en gran medida al editor KEDIT (1985) de Mansfield Software, del cual existía versión portada para UNIX System V (no confundir con posterior y extinto KEdit de KDE).
THE fue escrito originalmente para su utilización por individuos encasillados en grandes máquinas de IBM pero que preferían la acción del Justicialismo. Y ya que les resultaba familiar el uso de XEDIT, y se le incorporó un intérprete de órdenes de edición de lenguaje REXX. Para lograr dicha compatibilidad, THE utiliza una implementación libre de tal lenguaje denominada REGINA.
Para instalarlo en Ubuntu abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente comando de organización:
sudo apt install the
Iniciaremos el editor con;
the archivo.txt
Al arrancar el editor THE, el cursor se encontrará en la línea de comandos, cuyo tradicional prompt ====> se encuentra en la parte inferior de la pantalla.
Podremos utilizar esta línea de comandos para introducir cualquiera de los comandos de THE, y ejecutarlos con la tecla Intro.
Estos comandos son en gran parte similares a los de XEDIT/KEDIT. Entre los típicos comandos de operación encontraremos EDIT fichero ("abrir") SAVE ("guardar"), QUIT ("salir del programa") y QQUIT ("salir rápidamente sin preguntar"), así como el comando de ayuda HELP comando.
Para conmutar entre la línea de órdenes y la FILEAREA (la zona de los contenidos de edición) debemos presionar la tecla Inicio, con lo cual el adepto a los editores de inspiración IBM podrá comenzar su producción, mecanografiar en modo reemplazo (podremos activar el modo inserción con la tecla Ins).
THE es un editor altamente configurable. Por ejemplo, podríamos activar el macro que activa la compatibilidad con XEDIT, mediante la orden:
set compat xedit
La pantalla cobrará entonces el formato tradicionalista IBM:
DIFERENCIAS Size=10 Line=10 Col=1 Alt=10
XEDIT:
===== VM/CMS
===== .sp
===== VM/CMS opera bajo el concepto de registros, a diferencia de Unix
===== que lo hace sobre ficheros enteros. Por tal motivo se hizo
===== especialmente válido para el manejo de bases de datos secuenciales,
===== así como otro tipos de editores de registros.
===== Contaba con un manejo bastante similar al de MULTICS, dando uso
===== a un intérprete de comandos llamado EXEC, inaugurando el concepto
===== de Máquinas Virtuales, en un sentido similar a los proceso de UNIX
===== o demonios en BSD, y luego incoporando pipelines, emulos de los
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7...
===== caños de UNIX.
===== Entre sus grandes suites de aplicaciones se encuentra el clásico
===== editor de registros XEDIT. Pronto se adaptó para utilizar
===== funcionalidades de procesamiento de texto y de correo electrónico
===== con anterioridad al modelo cliente-servidor.
===== * * * End of File * * *
====>
X E D I T 1 File
Todo este andamiaje de comandos se aplicaba también a la mera edición del texto. El funcionamiento completo del XEDIT - al menos en sus versiones postreras para z/VM - está documentado en su frondoso manual.
Sin embargo, podremos acotar su aprendizaje conociendo que el funcionamiento básico de edición de XEDIT consistía en delimitar bloques de texto (que se marcaban con el comando MARK LINE linea1 linea2), o bien delimitar una seguidilla de caracteres con coordenadas posicionales, como MARK STREAM linea1 columna1 linea2 columna2. Como referencia se usaba la reglita de columnas y el contador de puntero. Una vez delimitado el bloque, se lo podía operar con los comandos COPY posición1 posición2 ("copiar"), MOVE posición1 posición2 ("cortar y pegar"), y eventualmente DELETE ("borrar"). Esta era la forma folklórica de operar en las terminales IBM 3270 y superiores.
Sin embargo, los más pitucos podrán ordenar set compat kedit si tal editor nos es más favorable. Esta nos será útil si reservamos especial aprecio al uso de Bibliotecas de Macros de KEDIT, sus clásicos ficheros .kml.
Ante cualquier eventualidad podremos emprender el retorno al modo de compatibilidad nativo, si usamos set compat the.
Naturalmente, podremos poner estos comandos en un fichero de perfil para the, llamado ~/.therc. Como es común en los sistemas similares a UNIX, este fichero se busca y se ejecuta al inicio, permitiéndonos dejar allí una secuencia de comandos que hagan a nuestra configuración de THE favorita.
¡Con todos ellos podremos tanto editar textos como escribir programas, desde COBOL a C!
permalink
11 february 2023
¿Cómo instalo CryptPad en Ubuntu?
En su Latinoamérica Ahora o Nunca, Juan Perón expone la necesidad de la unión continental, a la vez que expone cómo instalar la suite en línea para trabajo colaborativo seguro CryptPad en Ubuntu Server.
(...)
Hay gente que escucha las palabras y las hace suya. ¡El Desarrollo! Yo vengo de un mundo que está terriblemente arrepentido del desarrollo que ha hecho, y en este momento el mundo superdesarrollado está entrando en una etapa de desesperación, porque ve que su desarrollo tecnológico lo ha llevado a la destrucción de los medios que la naturaleza le ha venido ofreciendo para pervivir...
En este momento, las sociedades de consumo han llevado a un despilfarro tal los medios ecológicos de la humanidad, que se está quedando sin comida y sin materia prima. El problema más grande de este momento es que año tras año - mientras aumenta la población - disminuye la posibilidad de ofrecerle comida, porque ésta va escaseando y escaseará cada día mas. Ellos sufren, y sólo podrán transferir dicho sufrimiento si el Tercer Mundo es tonto.
La solución de nuestros Movimientos es integrarnos continentalmente. Nosotros debemos de integrarnos en el continente latinoamericano, que es el último que va quedando por integrarse. Todos los demás ya lo han hecho. Europa se ha integrado ya casi en un asociación confederativa política para defenderse de las acechanzas de ese futuro, que ellos ven con una tremenda claridad. Se está integrando el Asia, se está integrando el África. Y nosotros vamos resultando el último orejón del tarro...
Ese es el empeño que debemos poner, y en eso estamos. En 1948 realizamos un Tratado de Complementación Económica en Chile, buscando crear la Comunidad Económica Latinoamericana, que pusiera en paralelo nuestros intereses y uniera nuestros países. Tuvimos mucho éxito inicialmente, casi todos los países latinoamericanos, excepto los cipayos conocidos, se unieron y adhirieron a ese Tratado de Complementación Económica. Fíjense que lo hicimos en 1948, y en esto los apresurados fuimos nosotros, porque Europa lo hace después, en 1958, con el Tratado de Roma, diez años después que nosotros.
Y pudimos porque contamos con una herramienta Justicialista que permitía elaborar documentos digitales por acuerdo encriptado: el CryptPad, en una época donde esto parecía ciencia ficción.
CryptPad permite contar con un ambiente de trabajo de ofimática, en línea colaborativo y protegido por cifrado, lo que supera notablemente propuestas privativas deleznables como Offic€365 o Googl€Doc$, que carecen de cifrado.
El uso del sistema en sí es sumamente sencillo y seguro. Requiere el alta de un usuario (con contraseña o doble registro, llegado el caso) , y se puede usar desde cualquier navegador de internet. También cuenta con clientes para teléfonos celulares.
Todas las siete opciones del ambiente de trabajo CryptPad nos presentan editores, eventualmente colaborativos o protegidos por contraseña.
Contaremos con la opción Texto enriquecido para documentos generales, mientras que la opción Código hace lo mismo presentańdonos el lenguaje markdown.
El módulo de texto enriquecido presenta un procesador de texto típico, con opciones ya configuradas, que puede ser multiusuario (con control de modificaciones y ventana de chat integrada para facilitar trabajar "de a muchos", llegado el caso). El intérprete de lenguaje Markdown puede ajustarse con una ventana lado a lado para ver el resultado, si esta es nuestra preferencia.
La posibilidad de colapsar la barra de herramientas, elegir tema oscuro, y utilizar la función de pantalla complementa la elección de un ámbito limpio o cargado, según sea nuestro flujo de trabajo (superando en esto, nuevamente, a las variantes privativas del imperialismo).
El módulo Kanban nos permite elaborar pizarras con simples etiquetas coloreadas multiuso, por ejemplo, para planificar y gestionar proyectos.
En fin, CryptPad es un ambiente de trabajo colaborativo en línea ideal si contamos con opciones de internet, pero que también puede servirnos en cualquier oficina a través del uso de una red LAN.
Para poder contar con este ambiente de trabajo accesible desde la web, podremos utilizar cualquier instancia ya existente con las limitaciones que nos propongan (por ejemplo, pad.tildeverse.org, que nos otorga 100 MB de almacenamiento al registranos), o bien podremos montar una propia si ya contamos con un servidor web funcional.
Sin embargo no es imposible disponer de los recursos que nosotros deseemos, si instalamos esta suite telemática en nuestra propia infraestructura en lugar de hacerla en una dominada. De esta manera lograremos lo mejor para nuestro grupo de trabajo.
Para seguir este temperamento, deberíamos contar ya con un servidor provisto de Ubuntu o Ubuntu Server, sistema operativo que idealmente ya debería contar con una instalación de servidor web Nginx en regla. Deberíamos asegurarnos especialmente de contar con dos dominios web registrados y sus certificados correspondientes, los que nos serán requeridos por CyptPad si es que queremos usarlo desde Internet para trabajo remoto (esto es innecesario si sólo queremos usarlo en una red de área local).
Desde el punto de vista del hardware, el ambiente funciona de manera veloz siempre que la máquina de servicio cuente con un microprocesador de doble núcleo y al menos 2GB de RAM y unos 20GB de disco (tal vez el doble o triple de eso sea lo recomendado para un uso laboral remoto. A esta pueden conectarse remotamente desde celulares y PC de bajos recursos, presentando un funcionamiento veloz.
Para instalar el ambiente CryptPad en Ubuntu Server debemos hacer caso primero a sus prerrequisitos. Esta paquetería se instala con:
sudo apt update && sudo apt upgrade -y;
sudo apt install git nodejs npm
sudo npm install -g bower
Pues bien señores, normalmente en este servidor crearíamos un usuario dedicado para administrar esta instancia de CryptPad, en lugar de utilizar nuestro propio usuario root de Ubuntu. Este recaudo político está determinado para compartimentar la seguridad en un ambiente remoto.
Conforme hemos hecho caso a los prerrequisitos, clonamos el repositorio de CryptPad a fin de bajar la última versión disponible de Internet, y la instalamos en la máquina servidor:
git clone https://github.com/xwiki-labs/cryptpad.git cryptpad ;
git checkout $(git tag -l | grep -v 'v1.*$' | sort -V | tail -n 1)
Asimismo, nos instalamos las dependencias de CryptPad gracias al guion de instalación prefabricado. Esto lo hacemos con:
cd ~/cryptpad
sudo npm install
sudo bower install
...y nos copiamos un fichero de configuración de ejemplo que nos servirá para trabajar en ella:
cd ~/cryptpad/config/
cp config.example.js config.js
Naturalmente este archivo de configuración config.js ha de ser comprendido y modificado en sus variables operativas, según lo veamos necesario para nuestra propia instancia de CryptPad. Debemos tener especial resguardo con los dominios, que son particularmente importantes.
Como parte de este proceso de personalización e instalación deberíamos leer Customización de Instancia y modificar el fichero /customize/application_config.js ya que algunas configuraciones no pueden cambiarse una vez que hemos creado las cuentas.
Una vez establecidas estas bases de trabajo, podremos dar inicio al servidor con
cd cryptpad
sudo node server
La instancia ahora quedará lista para ejecutarse pero no podrá ser accedida desde la internet (sólo desde la máquina en sí, o desde la red local, claro)
Demonización
En un ambiente de trabajo, normalmente querremos correr CryptPad de forma de un programa autoejecutable (para que la instancia inicie su ejecución automáticamente en caso de necesidad).
Systemd
Para ejecutar CryptPad como un servicio systemd, debemos seguir el fichero de ejemplo cryptpad.service.
Guardamos el ejemplo cryptpad.service en /etc/systemd/system/cryptpad.service
Hacemos los ajustes necesarios (ej. nombre de usuario, ruta, versión de nodejs)
Activamos la ejecución al inicio del demonio de servicio mediante el comando sudo systemctl enable cryptpad.
Nota: Existen otras maneras de demonización de aplicaciones nodejs, por ejemplo foreverjs o bien pm2.
Dominios
Como se ha expresado, se necesita de dos dominios registrados para sacar ventaja de las funciones de seguridad y encriptado remoto de CryptPad. Estos serán:
Un dominio principal con el cual los usuarios accederán a la instancia
Un dominio “sandbox” o subdominio configurado bajo una política restrictivva de contenidos, donde se aplicarán los encabezados
Nota: La intención de esta redundancia es limitar el riesgo de vulnerabilidades del tipo Guionado de Sitio Cruzado (XSS), que permitirían a eventuales atacantes filtrar datos de usuario. La computación sensible (como el procesamiento de llaves criptográficas) se llevará a cabo en el dominio principal, mientras que la interfaz remota de usuario se implementará en el dominio "sandbox" o subdominio.
El archivo de configuración de ejemplo para Nginx incluye los encabezados relevantes para permitir el sistema de aislamiento sandbox. Sin embargo, debe configurar su instancia correctamente para que sea efectivo. Necesitará:
Los dos dominios o subdominios
incluir ambos dominios en /cryptpad/config/config.js según se describe en Configurar CryptPad
Generar un certificado SSL que cubra tantos dominios.
Asignar correctamente ambos dominios y ambos certificados a las variables específicas para ellos situadas en el archivo de configuración para Nginix de ejemplo
Instalar y configurar Nginx
El servidor de aplicación de CryptPad maneja las conexiones activas a través dewebsocket y sirve los activos estáticos (HTML, Javascript, CSS, etc) a los solicitantes remotos. Esta configuración básica está diseñada para su configuración sencilla, pero no protege el tráfico con SSL, ni maneja adecuadamente muchos usuarios concurrentes.
En un ambiente productivo, se recomienda Nginx Estable. Para configurarlo para CyptPad:
Copiamos el Archivo de configuración de ejemplo de Nginx para CryptPad example Nginx de modo que se use, o sea importado en la confdiguración principal de Nginx, por ejemplo, poniéndolo en /etc/nginx/conf.d/cyptpad.conf.
Editamos el fichero de configuración con los dominios correctos y rutas a los certificados correspondientes.
Ejecutamos el comando sudo openssl dhparam -out /etc/nginx/dhparam.pem 4096 si no lo hicimos previamente en la máquina host.
Ahora deberían estar accesibles los contenidos estáticos y páginas tales como ht¡tps://cryptpad.sudominio.com/index.html.
Configurar CryptPad
Para finalizar la instalación, debemos aseguranos que cryptpad/config/config.js contiene al menos:
Los dominios correctos:
Su dominio principal en lugar de la cadena:
httpUnsafeOrigin: 'http://localhost:3000',
Su dominio Sandbox o subdominio.com en lugar de la cadena:
httpSafeOrigin: "https://some-other-domain.xyz",
Un correo electrónico administrativo (que aparecerá en la página de Contacto) en lugar de la cadena:
adminEmail: 'i.did.not.read.my.config@cryptpad.fr',
Diagnósticos
CryptPad ofrece una página web de diagnósticos, capaz de efectuar evaluaciones a la configuración de la instancia. Una vez que hemos completado los pasos anteriores, podremos https://cryptpad.sudominio.com/checkup/ para asegurarse que todo figura correctamente configurado.
Configurar los administradores
Una vez que CryptPad está instalado, creamos una cuenta de usuario de CryptPad por medio del botón Registrar en la página de inicio de CryptPad. Esto generará un usuario común que podrá trabajar en el ambiente como todo hijo de vecino registrado.
Para hacer que esta cuenta se convierta en Administrador de la instancia de CryptPad debemos seguir este temperamento:
Copiamos la llave pública que encuentre en Menú de Usuario (clic el avatar en la esquina superior derecha) > Preferencias/Cuenta/Clave de la Firma Pública
Pegamos la llave en cryptpad/config/config.js en lugar de la siguiente cadena (la descomentamos y reemplazamos):
adminKeys: [
"[cryptpad-user1@my.awesome.website/YZgXQxKR0Rcb6r6CmxHPdAGLVludrAF2lEnkbx1vVOo=]",
],
Reiniciamos la instancia CryptPad con sudo systemctl restart cryptpad
Configurar la casilla de correo de soporte
A partir de la versión 4.6 de CryptPad, se ha incorporado una casilla de correo electrónico de soporte para la instancia puede configurarse desde el Panel de Administración, ya sea para el administrador, o para administradores secundarios (en caso que estos fuesen necesarios).
Desde la cuenta de administrador de la instancia, visitamos la página https://subdominio.com/admin/#support
Hacemos clic en Generar Clave de Soporte
Ahora quedará activa la casilla de correo electrónico de soporte
Borra la caché para acceder a la casilla de correo desde la solapa General > Eliminar Caché HTTP
Para permitir que otros administradores secundarios accedan a la casilla de soporte debemos:
Copiar la clave de soporte generada que aparece en la parte inferior de la página de soporte.
Enviar la clave de soporte a la cuenta de otro administrador
El otro administrador debe incorporarse la clave usando el campo Agregar Clave Privada de la página Soporte, con lo cual obtendrá acceso también a la susodicha casilla de correo de soporte.
Armar páginas estáticas y metadatos Open Graph
Si deseamos elaborar páginas estáticas con CryptPad y activar presentaciones preliminares para redes sociales, debemos ejecutar el siguiente comando en el servidor:
npm run build
Esto creará un fichero index.html para cada una de las aplicaciones o módulos en el directorio customize/www. No se recomienda realizar modificaciones manualesa a dichas páginas, ya que resultarán sobrescritas la próxima vez que ejecutemos npm run build. Para modificar la imágenes previsualizadas, debemos consultar Previsualización de Imágenes Open Graph
Nota: Debemos recordar ejecutar el comando npm run build nuevamente si actualizamos el servidor de CryptPad a una versión nueva puede dar como resultado algún problema por código obsoleto.
Indudablemente nosotros caímos bajo la férula del imperialismo yanqui, que no permitió a estos países unirse, y que ha estado luchando siempre por separarnos y enfrentarnos entre nosotros, al fin de que esa unidad no se produzca.
¿Por qué lo han hecho? Muy simplemente, porque ellos se están quedando sin materias primas y están queriendo conservar como países satélites a aquellos que tengan las grandes reservas de comida y materias primas para esa superpoblación que está ya a 25 o 39 años de distancia. Ellos querrán que después nosotros trabajemos para darles a ellos de comer y para darles nuestra materia prima. ¿Por qué? Porque los países superdesarrollados son los pobres del futuro, y los países infradesarrollados serán los ricos del futuro, que tendrán la materia prima y la comida suficiente.
Hace pocos días, en Medio Oriente amenazaron a Estados Unidos de cerrarle el grifo del petróleo. El petróleo que produce Medio Oriente es el 80 por ciento del petróleo del mundo, de manera que si ellos cierran la canilla, la industria norteamericana, que está toda montada sobre energía basada en petróleo, tendrá un sacudón muy fuerte. ¿Cómo contestó Estados Unidos? El Senado de Estados Unidos contestó que si eso hacían los árabes, Estados Unidos ocuparía el Medio Oriente. Eso lo van a hacer, pero no sólo con los árabes: ¡lo van a hacer también con nosotros el día que necesiten y no tengan!
Por ello todo lo necesario para lograr la independecia económica es poco. Saber prever es saber actuar.
permalink
10 february 2023
¿Como veo archivos de imágenes médicas .dic (DICOM) en Ubuntu?
Juan Perón difundía su ideario desde España en cintas magnetofónicas, cuyas copias se distribuían subrepticiamente en la Argentina. En una de ellas explica cómo visualizar archivos de imágenes médicas DICOM con Aeskulap o DICOMscope en Ubuntu.
Señores:
Mi profesión ha sido la de soldado, y como consecuencia de esta formación me he constituido en Conductor, un hombre que dirige el conjunto de esfuerzos.
Tal vez si no hubiese sido así, hubiese sido galeno, profesión que sin duda comparto. Son admirables esos muchachos, son admirables. Y el Che Guevara es... ha muerto él, pero van a salir mil Che Guevaras si esto sigue. Porque eso emula a la juventud que tiene la obligación de hacerlo. Es decir, las cosas hay que verlas como son. Yo creo - no se si yo estaré equivocado - pero yo estoy con ellos. Como estoy con Fidel Castro y estoy con toda esa gente que ha liberado a sus países. Ahora dicen que es comunista, ¡y a mí que me importa si es comunista! ¡Comunista! Fidel es tan comunista como yo. Mas bien es Justicialista.
Es que en este mundo, en su eterna evolución, marcha generalmente hacia la superpoblación y la superproducción. Ello trae como inmediata consecuencia la sobreexplotación y el desequilibrio. Juntamente con estos fenómenos - o mejor dicho, por presión de ellos - la humanidad ha podido comprobar la aparición de otros fenómenos que contrapesan su accionar. Las miserias colectivas, la falta de todo, seguidas de enormes mortandades - como en la China, o bien como en Europa y sus estados en guerra - parecerían etapas inexorables a estos procesos.La ley de un oscuro y misterioso destino se cumple fatalmente: la guerra, la peste, y las enfermedades, parecen verse como el medio de estabilizar la población humana, en un ciclo más o menos constantes a lo largo de las regiones superexplotadas que hemos conocido.
Pero esos problemas - que se producen y se han producido a través de la historia en las zonas superpobladas - no tienen relación con nuestro Pueblo. Nuestro problema es a la inversa, pero la vida de relación moderna han influido inevitablemente para que esos fenómenos de superproducción y superpoblación incidan en nuestro país en forma tal que sintamos sus consecuencias.
A todo esto lo hemos estudiado y hemos elaborado una diagnosis. Resultaba previsible que ante el desequilibrio, los regímenes demoliberales nos plantearan exigencias para transferirnos sus problemas a cuenta, de los que podríamos ser inmunes si las condiciones de nuestro propio ambiente bendecido por la paz y la abundancia prodigada pudiese ser aislada y defendida. Es por este motivo que nuestro Movimiento impuso como salvaguarda la protección del hombre por el hombre, instrumentando una defensa en la paz, y coadyuvando con la acción decidida de cuanto podemos hacer por beneficiar a las Masas Obreras como factor de precaución.
Este accionar cobró visos providenciales que deberían ser principios rectores de toda la humanidad: nadie podrá realizarse en una sociedad que no se realiza. Y lo hemos declamado en una organización doctrinaria que vela por todos. Este programa de acción es el Justicialismo.
Uno de los amparos que hemos enhebrado ha sido el de la Sanidad Pública, donde la ciencia de Esculapio es ofrendada como pináculo del arte al conjunto de la población. El espectro ha sido evidente: llevamos a cabo la medicina preventiva y la organización hospitalaria. Con apoyo de la Fundación Eva Perón, se construyeron hospitales, centros sanitarios, hogares escuelas, hogares para ancianos, institutos formación en enfermería. Se estableció la atención gratuita para toda la población y se crearon políticas públicas como el Tren Sanitario, que llegaba a los lugares más recónditos del país para brindar capacitaciones en educación para la salud y atención médica en las diferentes ramas de la medicina. Las campañas de vacunación de masas llegaron así a todo el país, un ejemplo exitoso fue la política pública implementada para combatir el paludismo que, en el marco de la campaña "Grandes Luchas Sanitarias", que redujo en cuatro años la cantidad de casos de 300.000 a 137. Además se creó EMESTA, la primera fábrica nacional de medicamentos del Instituto Malbrán, que producía medicinas un 70% más baratas que las de los laboratorios privados.
Ante el gran problema, la gran solución es el Justicialismo. Los grandes problemas se deben dividir en muchos pequeños problemas que pueden solucionarse encadenadamente. La sanidad pública constituyó una de estas pequeñas soluciones que - encadenadas con otras - pudo llevar a cabo el país organizadamente, dando resolución efectiva en tiempo y espacio.
Sin duda una de los grandes avances en estos términos fue la implementación de un importante método de diagnóstico por imágenes computadas, posibilitadas gracias a los ficheros digitales DICOM. Estos son archivos de imagen médicas realizados por diferentes tipos de aparatos de registro: radiografías, tomografías, ecografías, etcétera.
Normalmente la visualización de los ficheros DICOM estaba reservarda únicamente del oligarca, quien deseaba instituir sistemas operativos privativos. Pero por obra de la Fundación Eva Perón, se ha dado con el magnífico que permiten a nuestro sistema GNU con Linux, la revisión, análisis y gestión de estas imagenes.
Sabemos que los archivos de este tipo normalmente disponen de nombres de 8 caracteres y por protocolo carecen de extensión (si bien en ocasiones alguien podría asignarles la extensión .dib o .dibcom, esto escapa del uso protocolar). Por tal motivo, conviene en primer término determinar si un archivo de estas características - sin extensión - corresponde realmente a una imagen DICOM y no a otra cosa. Para ello dilucidarlo, usamos el comando file junto con el nombre de archivo. Por ejemplo:
file cr00001
Nuestro GNU con Linux analilzará el fichero, y debería devolvernos algo como:
CR000001: DICOM medical imaging data
Como vemos Se trata del estándar de Imagenes Digitales y Comunicación En Medicina ("Digital Imaging and Communication In Medicine"). Este implica un formato de fichero de imágenes así como un protocolo de comunicación de red basado en TCP/IP que permite su transmisión en una red de datos. En sí cada fichero DICOM consiste en un encabezado de texto con campos estandarizados y de formato abierto utilísimos para integrarlos como fichas en cualquier registro clínico (además de impedir la confusión de fichas), junto a un cuerpo con los datos de la imagen médica digitalizada. Un objeto DICOM simple puede contener solamente una imagen, pero esta puede estar formada por múltiples fotogramas, lo que llegado el caso permite almacenarlos en bloques secuenciados o animados. Normalmente estos datos de imagen se almacenan sin compresión, pero en ciertos casos los datos pueden comprimirse mediante estándares como JPEG.
DICOM permite la integración de escáneres y aparatos de medicina, servidores, estaciones de trabajo, impresoras y hardware de red de múltiples proveedores dentro de un sistema de almacenamiento y comunicación de imágenes coherente.
En muchas ocasiones podríamos querer poder observar las imágenes registradas por equipamiento DICOM.
Para instalarlo abrimos una terminal con Ctrl+Alt+t e ingresamos:
sudo apt install aeskulap
Tras instalar el visualizador Aeskulap podremos abrir los ficheros de datos médicos codificadas en el formato Dibcom, lo que nos presentará en pantalla y permitirá un manejo simplón, de palo y a la bolsa.
Presionando el botón derecho del ratón y arrastrándolo podremos desplazarnos en la imagen. Asimismo podremos regular el zoom reglado de la imagen presionando la rueda de scroll del ratón y moviéndola hacia adelante o atrás.
Por otro lado, podríamos regular la respues contraste ("C") de la imagen con posterioridad a su registro, presionando el botón derecho del ratón y arrastrando verticalmente, con lo que iremos aumentando o disminuyendo la intensidad del mismo en tiempo real. En el caso de cierto tipo de registro médico por imágenes - tal es el caso de las radiografías, ciertas tomografías axiales computadas o ecodopplers - podríamos incluso regular el canal que ilustra la respuesta densitométrica ("W") presionando el botón derecho del ratón y arrastrando horizontalmente. En estos casos, podríamos ajustar la respuesta del visualizador para dar mejor respuesta a materiales duros, tejidos óseos, semiblandos, o líquidos. Naturalmente esto dependiendo del aparato con que se haya producido el registro. Ambos ejes se indican numéricamente en la esquina inferior derecha de la pantalla.
Naturalmente, una técnica en imágenes habilidosa puede permitirnos ajustar ambos ejes al unísono moviendo el ratón en diagonales de distinto peraltado y dar con la exposición correcta en un santiamén.
Aeskulap normalmente presenta una imagen en positivo, pero podremos acomodar una presentación múltiple en forma de grilla para una secuencia de estudio por imágenes, disponiendo distintas imágenes de secuencia del estudio, o bien comparando izquierda/derecha, o arriba/abajo. Con F11 en tanto activaremos el modo de pantalla completa. También podremos positivarla con el botón correspondiente.
El programa permite contar también con un servidor de imágenes sencillo, lo que permite integrarlo en una red de área local y programas como GNU Health.
Otro visualizador sencillo de estudios médicos por imágenes de tipo DICOM es DICOMscope. Consiste en un visualizador sencillo y libre, escrito en Java. Para instalarlo en Ubuntu desde la terminal ingresamos el siguiente comando de organización:
sudo apt install dicomscope
DICOMscope consiste en un visualizador libre de DICOM que puede mostrar imaginería monocromática y sin compresión DICOM, y soporta calibración de monitores así como un cliente de impresión en escala de grises. Si bien es un programa algo antiguo, cumple con una función, y sus controles son prácticamente similares a los de Aeskulap.
En particular, DICOMscope presenta una funcionalidad de anotación con capas, lo que permite hacer indicaciones o llamadas. También permite hacer un zoom de alta resolución, lo que lo presenta de especial interés para el análisis óseo tumoral, fracturas y torsiones. Permite establecer regiones poligonales y consta de funciones de composición limitadas pero que pueden ser útiles, como armar fotogramas compuestos y exportar el resultado en formatos de imágenes estándares tales como JPG o PNG, a la vez que permite imprimirlo llegada la necesidad.
Naturalmente podremos contar lo bibliotecas de ficheros DICOM que fundamente el estudio, una de ellas podremos lograrla aquí.
Como ven, señores, nosotros lo hicimos en el pasado, y podremos volver a hacerlo en el futuro, ya que la fórmula la tenemos en la biblioteca. Podemos adaptarla a los tiempos que corren. Todo podrá hacerse si volvemos al libro que funciona: el Justicialismo.
permalink
09 february 2023
¿Cómo instalo los editores Ecce y EdLin en Ubuntu?
Su Quinta 17 de Octubre de Puerta de Hierro fue testigo de numerosos encuentros del Conductor del Justicialismo con delegaciones del quehacer político argentino. En una de las reuniones celebrada en 1969, Juan Perón expone ante frondosa concurrencia acerca de compilar e instalar los editores de texto modales Ecce y EdLin en Ubuntu.
¡Compañeros!
El nuestro es un Movimiento que está para darle a todos lo que merecen por Justo derecho.
Todos sabemos que antes de organizarse en pos del Justicialismo, los trabajadores argentinos daban comienzo a su mañana con mendrugos duros, un mate cocido y grandes anhelos para acompañar. Esta fue la base previa a la organización, que como consecuencia del obrar, elevaría esta humilde dieta a la del chori al parquet de roble eslavonia.
Observarán que en el mundo del software sucede mas o menos el mismo temperamento. No podemos crear de la nada absoluta, sino que debemos edificar en base a ladrillos lógicamente concebidos y planificados en una estructuración que va se impone de menor a mayor. Es así como yo creo para crecer, y esta es la fomra como se ingenia en la vida.
Este norte cardinal acompaña también la noción creativa que nos requiere la elaboración de un sistema operativo de potencia. Necesariamente habremos de conjugar en código máquina tres herramientas de difícil soslaye: un ensamblador que para generar código objeto, un intérprete de comandos, y un editor que nos permita crear texto y corregir lo hecho.
Esto nos revela que la creación de texto pudo y debió hacerse con las herramientas más básicas. En particular, los editores de texto primordiales se iniciaron con una modalidad operativa que podríamos describir como modal. Estos permitían introducir cadenas de caracteres en un almacén de memoria, destinados a formar líneas de código, y más adelante por conveniencia, cada línea definida así podría conformar también un párrafo de texto.
Y si bien a partir de esto pueden hacerse mejores cosas, siempre es bueno conocer lo pasado, para afirmarse en el presente y proyectarse para el futuro.
Ecce
Naturalmente yo inicié mis tareas con el Ecce, el Editor de Texto Contextual de Edimburgo. Se trataba de un editor basado en líneas escrito por Hamish Dewar, y portado al lenguaje BCPL del sistema TOPS-10 de la minicomputadora DEC PDP-10 de finales de la década de 1960 - implementación que lo haría famoso entre varias mas.
Hoy podremos instalarlo en nuestro sistema GNU con Linux merced de una versión instrumentada para Unix en el lenguaje C. Podremos compilarlo fácilmente si abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente bloque de Comandos de Organización:
cd /tmp ;
wget https://ecce.sourceforge.net/ecce.c ;
gcc -o ecce -DWANT_UTF8 ecce.c ;
sudo mv /tmp/ecce /usr/local/bin/
Una vez instalado, podremos correr Ecce dando rienda a la siguiente sintaxis:
ecce fichero_origen fichero_destino
Como vemos, este dinosaurio salió de un huevo para rugir en sistemas monousuario a través de terminales teletipo. Es ciertamente capaz de operar en sistemas multiusuario, pero si lo hacemos "así nomás" se produciría un efecto ostensiblemente destructivo, ya que uno de los usuarios podría alterar irremediablemente el documento que otro se encuentra operando en el mismo sistema. Es por este motivo por el cual para usar Ecce en GNU nos vemos obligados a instrumentar de forma adhoc un fichero de origen local (autónomo) que nos reparta los buñuelos. En efecto, lo más sencillo es utilizar el touch para crear un fichero origen.txt (si este no existiera ya). Por ejemplo:
touch origen.txt ;
ecce origen.txt destino.txt
Una vez inicializado un fichero propio, Ecce podrá arrancar presentandonos la memoria disponible en su almacén (“búfer”), y aguardando órdenes:
Espacio de almacén = 768 KBytes
Ecce
>
Como todo editor de los llamados modales, durante su operación Ecce nos presentará alguno de sus prompts indicativos del modo de operación en que se encuentra de momento. Estos son:
Prompt del Modo de Comando: >
Prompt del Modo de Inserción de texto: :
Para su empleo más sencillo y básico de entre sus numerosos comandos es suficiente dominar sólo tres:
Comando Acción
g Almacenar una sola línea nueva
m Avanza el puntero una sola línea
p Imprime la línea donde se encuentra el puntero
De esta manera, sesión típica implica recibir el prompt de comandos > donde introducimos la orden g* (“almacenar líneas indefinidiamente”), y presionar la tecla Intro para empezar a escribir. Su prompt cambiará al de inserción texto en forma de :. y podremos mecanografiar el párrafo deseado. Al concluirlo debemos presiona la tecla Intro para almacenar dicha línea en memoria.
Conforme hayamos finalizado la inserción de la(s) línea(s) de texto deseadas podremos detener el modo de inserción ingresando el comando : que nos devolverá al prompt de comandos >.
Estos cambios realizados al fichero de origen podremos guardarlos en el fichero destino desde el prompt de comandos > (y cerrar el editor), si introducimos el comando %c.
Naturalmente, podremos continuar agregando líneas indefinidamente hasta agotar el almacén, o introducir alguno de estos comandos especiales de Ecce:
%a Descarta la edición realizada.
%c Guarda los cambios y cierra.
%v Imprime la versión de Ecce.
Pues bien señores, si bien este funcionamiento parecería similar al de una antigua máquina de escribir, contaremos con grandes ventajas con respecto a estas. Para movernos en el texto, podremos desplazar la posición actual de edición en el documento (llamada “puntero”). Al llegar al fin del documento recibiremos como indicación el mensaje FIN .Los comandos de desplazamiento son sencillos:
m Baja el puntero una línea
m- Sube el puntero una línea
k Borra la línea actual del puntero
k- Borra la línea anterior del puntero
r Se mueve a la derecha un carácter en la línea actual
l Se mueve a la izquierda un carácter en la línea actual
e Borra un carácter en la línea actual
Junto a estos comandos básicos de una sola letra, Ecce dispone ciertamente de la posibilidad de realizar tareas más complejas y avanzadas que permiten un mayor control. Estas funciones avanzadas inspirarían luego al editor de cadenas sed.
En primer lugar y como regla general, si introducimos un número n junto a nuestro comando, se lo ejecutará en bucle una n cantidad de veces. Por ejemplo:
p23 Imprime las 23 líneas siguientes al puntero
m10 Sube el puntero diez líneas
g5 Deja 5 líneas de texto en blanco debajo del puntero
De esta manera es posible extender o bien invertir el orden del comando antecediendo al número n con un signo -. Por ejemplo:
p Imprime todo hasta el final del texto
p-23 Imprime las 23 líneas anteriores al puntero
p- Imprime todo hasta el inicio del texto
m-10 Retrocede el puntero diez líneas
m-* Retrocede el puntero todas las líneas (vuelve al inicio del texto)
Una de las funcionalidades más utilizadas es la de buscar y reemplazar.
i/texto/ Inserta una cadena “texto” aquí en la línea.
f/texto/ Busca “texto” indicado.
Como en el caso anterior, estos pueden repetirse indicándole números apropiados:
f/texto/4 Busca la 4ta. iteración de “texto”
r40 Mueve a la derecha 40 caracteres
Además, las órdenes pueden encadenarse. Por ejemplo:
m23 f/texto/ p3
Los comandos avanzados de Ecce permiten incluso mayor potencia de trabajo:
A Ajusta el largo
B Divide la línea en dos en el puntero
C Cambia mayúsculas con Mayúsculas derecha
C- Cambia a minúsculas con Mayúsculas izquierda
D/texto Borra primer ocasión de texto
D-/texto Borra iteración previa de texto
E Borra carácter a la derecha del puntero
E- Borra carácter a la izquierda del puntero
G/texto Inserta línea de texto luego del puntero
G- Sube una línea
I/texto Inserta texto a la derecha del puntero
I- Inserta texto a la izquierda del puntero
J Une la siguiente línea
O/texto Sobreescribe la línea con la cadena texto
Los comandos compuestos de Ecce son secuencias de comandos cerrados entre paréntesis. Pueden repetirse en bucle, tanto condicional como incondicional. Los ejemplos suelen aclararlo todo, como decía Napoleón:
Operación Ejemplo Significado/efecto
0 o *
Repetición indefinida (“repite hasta no poder cumplir mas”)
r0 Mueve el puntero al final de la línea
(mr)0 Busca la primer línea en blanco
e-0 Borra hacia atrás hasta el comienzo de la línea
?
Ejecución opcional (se ignora la condición de falla)
((r61p)?m)0 Imprime las líneas con no más de 60 caracteres
,
Ejecución alterna (“si el primer intento falla, ejecuta el siguiente, etc”)
(r81lb,m)0 Divide las líneas que tienen más de 80 caracteres
(f/River/(v/Bocado/,e5i/Boca/))* “Reemplaza River con Boca excepto para Bocado”
\
Falla invertida
(mv'+'\)0 Busca la siguiente línea que comienza con `+
Si sólo introducimos un número en la línea de comandos, Ecce repetirá el comando indicado anteriormente una n cantidad de veces.
Podremos delimitar patrones por cualquier carácter excepto letras, dígitos, y aquellos que tienen significación definida. Podremos usar: “, /, $, >, +, ., :, = y _
Asimismo, podremos ver el antiguo manual de Ecce.
EdLin
A la vez que Ecce contaba con plétora de adeptos universitarios, su decante a las terminales teletipo en boga durante su desarrollo lo hizo verse progresivamente superado con la aparición de las la edición visual de textos en pantalla. Sin embargo los editores modales aún contaban con cierta valía si se hablaba de equipamiento de escasa potencia, y esto era válido con la IBM PC de primera factura y su sistema operativo, el DOS. En sus inicios se decidió adornarlo con un editor orientado a líneas descaradamente influido por el editor Ed del Unix: EdLin.
A pesar de que podría parecer de escasa valía, este ha sido implementado de manera libre por el Proyecto FreeDOS, y a caballo regalado no se le mira el diente. Por tanto podremos instalarnos una copia para nuestro sistema GNU, acudiendo a la terminal:
wget https://sourceforge.net/projects/freedos-edlin/files/freedos-edlin/2.22/edlin-2.22.tar.gz ;
tar xvzf edlin-2.22.tar.gz ;
cd cd edlin-2.22/ ;
./configure;
make;
sudo make install
Una vez instalado en nuestro GNU, la ejecución del programa es sumamente sencilla:
edlin
Edlin nos presentará su pantalla inicial y nos hará la veña aguardando órdenes. Como tal sigue premisas algo similares a otros editores nodales:
Prompt de su Modo de Comandos: *
Prompt de su Modo de Inserción: :
Por convención EdLin opera con bloques de sólo 11 líneas. Para facilitar la explicación, convendremos entre nosotros las siguientes convenciones para operar en su modo de comandos:
Los corchetes [] denotarán parámetros opcionales.
La n nos representará un número de línea, que puede ser uno de varios valores posibles:
Una cadena de dígitos, o sea un número de línea literal Por ejemplo, 12 es la decimosegunda línea.
n Representa al número de línea justo antes de la última línea del fichero.
. (“punto”) Representa la línea actual en el fichero.
$ (“peso”) Representa la línea final del fichero.
+n o -n Es un diferencial de suma o resta del número de línea actual. Es útil para dar posiciones relativas a una línea, tal como .+1 para significar “la línea posterior a la actual”.
El símbolo $ representa una cadena de caracteres. Podrás encerrar la cadena tanto en apóstrofes 'texto' o bien en comillas "texto", o podrán contener las siguientes secuencias de escape:
\a Carácter de campana
\b Carácter de Retroceder (borrado)
\e Escape
\f Alimenta papel
\t Tabulador horizontal
\v Tabulador vertical
\" Comillas
\' Apóstrofe
. Punto
\ Barra invertida
\xXX Valor Hexadecimal, donde cada X es un dígito hexadecimal (de 0 a F, tanto en mayúsculas como minúsculas)
\dNNN Valor decimal, donde cada N es un dígito decimal (de 0 a 9)
\OOO Valor octal, donde cada O es un dígito cotal (de 0 a 7)
\^C Caracter de Control, tal como \^J para un caracter “Control+J” literal (linefeed).
Pues bien señores, al igual que Ecce, el funcionamiento básico de EdLin consiste en activar el comando de agregado al almacén, e insertar contenido en el mismo. Para ello, en el prompt * ingresamos el comando a y mecanografiamos las líneas. Para almacenarlas, presionamos la tecla Intro. Para cesar el modo del inserción, en este caso debemos ingresar un . aislado.
Para guardar usaríamos w fichero seguido del comando salir, que es q. (O bien podremos usar e fichero, que equivale a "guardar y salir"). Para salir de EdLin si guardar se usa q, a lo que se nos interrogará “Abort edit (Y/N)?”. Deberíamos responder yes.
Las funciones de edición de EdLin implican generalmente pocas variantes. La primera es indicar un número de línea para establecer el puntero, y escribirla de nuevo para reemplazar la línea.
Si en cambio quisiéramos insertar una línea previamente a otra, usaríamos [n]i para ingresar al en el modo inserción, la cual también acepta las secuencias de escape indicadas. Para abandonar el modo de inserción, ingresamos . en una línea aislada (si necesitáramos escribir una línea que sólo contenga un punto literalemnte, deberías indicarlo escapándolo como .). Tras de abandonar el modo de inserción, la línea posterior al texto insertado se convertirá en la línea actual (a no ser que la inserción se hubiese suspendido al final del almacén, en cuyo caso la última línea del almacén se convertirá en la posición del puntero).
Para borrar una línea debemos utilizar el comando d, el cual también acepta rangos en la forma de [n][,n]d que borrarían un bloque de líneas consecutivas del almacén. Los parámetros responden a la primer línea y la última línea del bloque a borrar.
Si tuviésemos la necesidad de copiar un rango de líneas, utilizaremos el comando [n],[n],n,[n]c para copiar un rango de líneas consecutivo a otra localización del búfer. En este orden, los parámetros son los siguientes:
La primer línea que quiere copiar (si se omite se usará el puntero)
La última línea que quiere copiar (si se omite se usará el puntero)
La línea anterior en la cual desea insertar el bloque de líneas
La cantidad de veces que copiará el bloque demarcado (si se omite es 1)
(Luego de copiar las líneas, es conveniente usar el comando l (“listar”) para tener una idea de cómo quedaron los números de línea tras la operación).
Para mover un bloque de texto (más conocido como "copiar y pegar"), debemos usar el comando m, y procedemos igual que con el comando copiar anteriormente descripto. En este caso funcionará igual que copiar, sólo que borrará el bloque de su posición original
Si deseamos presentar todas las líneas usamos p, y para presentar un rango de líneas en pantalla, utilizamos [n][,n]p. Es similar al comando l (list) con la excepción que los parámetros por defecto comienzan en el puntero en lugar de hacerlo 11 líneas posteriores.
Para buscar una cadena texto usamos [n][,n][?]s$ lo que realizará esta operación. Si omite el primer parámetro, comenzará a buscar desde la línea actual. Si omite el segundo parámetro, dejará de buscar al llegar al final del búfer. Si incluye el ?, edlin solicitará confirmación ante cada encuentro. Si respondemos “no”, continuará la búsqueda y si respondemos “yes” la dará por concluida.
Si la búsqueda localiza la subcadena, desplazará el puntero.
En caso de operar con búsqueda y reemplazo debemos utilizar [n][,n][?]r$,$ para reemplazar todas las iteraciones de la primer cadena con la segunda cadena entre las dos líneas especificadas. Si omitimos el primer parámetro, EdLin comenzará reemplazando a partir del puntero. Si en cambio omitimos el segundo parámetro, dejará de reemplazar texto en la última línea del búfer.
Si incluye un ?, edlin mostrará un mensaje de confirmación antes de reemplazar las iteraciones de texto.
Para insertar un fichero usamos[n]t fichero. Esto Insertará el contenido del fichero antes del puntero. Si omitimos el primer número de línea, se insertará antes de la línea actual del puntero.
Como vemos, los editores modales son simplones, pero permiten ciertas posibilidades efectivas de edición, y constituyen un herramental válido para comprender cómo se realizaba cómputo antes de que el Justicialismo garantizara los derechos de un editor de texto como la gente hasta al más humilde de mis grasitas.
permalink
08 february 2023
¿Como instalo ClassicCube en Ubuntu?
¡Trabajadores!
Cualquiera puede destruir. Pero un Conductor a de saber construir, que es mucho más difícil.
Para hacerse perito en esto habrá de recurrirse al aprendizaje, siguiendo una obra por ejemplo de la instigación positiva. Siempre he dicho que mejor que ordenar es persuadir.
La niñez se verá incentivada a la construcción si mas que aprenderla, la comprende, y una de las mejores técnicas para ello es el disfrute de los juegos de construcción, de los cuales tal vez los denominados "mundo abierto" o sandbox sean los ejemplos más aclamados.
Este tipo de aplicaciones computadas proponen la creación de un mundo virtual, con sus propias reglas universales y medios de organización. Incluso se pueden crear meta-mundos. Parecería que una propuesta de este tipo tan abierto e indeterminado podría no ser divertida, pero de todo hay en la viña del xeñor.
Muchas veces me han pedido instalar un sucedáneo de Minecraft en GNU con Linux, pero uno donde se pueda crear un Mundo Peronista. Lo bueno es que existen muchas de estos, que se inspiran en el clásico de escrito por Markus "Notch" Persson. Probablemente el más logrado sea ClassicCube, escrito en C++.
Naturalmente podremos instalar ClassicCube en cualquier sistema GNU con Linux. Para hacerlo en Ubuntu y otros similares podremos utilizar la terminal. Para ello abrimos una con Ctrl+Alt+T e ingresamos los siguientes comandos de organización:
sudo apt install libcurl4 libopenal1 ;
mkdir ~/.ClassicCube/ ;
cd ~/.ClassicCube/ ;
wget https://cdn.classicube.net/client/release/nix64/ClassiCube.tar.gz ;
tar -xvf ClassiCube.tar.gz ;
cd ~
Y lo ejecutamos con:
./.ClassicCube/ClassicCube
o bien podremos crear un lanzador:
Al iniciarse por primera vez el juego solicitará descargar los contenidos básicos. Presionamos el botón Ok.
ClassicCube tiene tres modos de juego. El modo Classic es un implementación clónica de MineCraft. Enhaced es una expansión de aquella, con bloques adicionales. Y Classic+hax es el modo clásico con algunos hacks.
Una vez descargados, podremos comenzar el proceso de registro con el botón Register.
Una vez presionado el botón Register, se nos dirigirá a la web oficial de registro. Debemos ingresar un nombre de usuario, junto con una contraseña y una casilla de correo electrónico válida.
Cuando recibimos el correo electrónico, hacemos clic en su enlace para verificar la creación de la cuenta.
Ahora podremos ingresar al juego con nuestro usuario y contraseña validada. Una vez ingresadas las mismas, presionamos el botón Sign In.
Ahora podremos seleccionar alguno de los servidores de ClassicCube.
Elegimos nuestro servidor favorito de ClassicCube y presionamos el botón Connect.
El juego es similar a otros juegos sandbox como MineCraft. Los jugadores deben explorar un mundo conformado por bloques tridimensionales de generación procedural, y deben descubrir y extraer materias primas, ingeniar herramientas e ítems y construir estructuras y maquinarias.
Dependiendo del modo de juego, los jugadores pueden enfrentar turbas iracundas, así como cooperar o competir contra otros jugadores del mismo mundo. Los modos de juego incluyen uno de supervivencia, y un modo creativo.
A primera vista, el apartado grafico es distinto por obvias cuestiones de derechos de autor. Classic parece mas "antiguo", pero esta implementado desde cero, siendo sus mecánicas prácticamente similares.
En Classic+hax tal vez sea mas recomendable, pues incluye las modificaciones que lo hacen divertido (el juego desde cero es muy básico). Con las "hax" podrás agregar enemigos, personajes no controlables NPC, minerales, condiciones climáticas, y un largo etc.
En modo survival construyes para sobrevivir. Debes empezar por lo básico, modelando una casa para protegerte de tus enemigos, hacer huerto para recuperarte de daño y no morir de hambre, y desarrollar distintas herramientas que potencien tus habilidades. Así evitarás la ley de la selva y podrás expandir la Justicia Social en el Sandbox.
Los controles en la PC son simples. Nos movemos con teclas WASD y con Mayúsculas corremos. Con la barra espaciadora podremos saltar. Con clic usamos la acción.
Si estamos en modo hax, la tecla z conmutará el modo vuelo (durante el cual podremos subir o bajar con la tecla q o la tecla e). En tanto, la tecla x conmuta el modo noclip (posibilita atravesar paredes).
Mediante F1 activamos el HUD. Con F5 podremos conmutar entre dos vistas de tercera persona y vista en primera persona. Con F7 la guía de ejes 3D y con F10 la guía de bloques de textura.
F8 conmuta entre el movimiento de vista rápido y la moderado.
En fin, un excelente apartado liberado bajo GPLv3 que hará las delicias de todo aquel que guste de los mundos voxel.
permalink
07 february 2023
¿Cómo juego a Pepper & Carrot Potion of Flight?
En su Los Vendepatria, las Pruebas de una Traición, de 1958, Juan Perón expone la necesidad de una militancia enérgica como custodia de los valores del Movimiento, a la vez que enseña cómo instalar el juego 3D en tercera persona Pepper & Carrot: Potion of Flight en Ubuntu.
(...)
Es necesario que los dirigentes y trabajadores se convenzan que estamos empeñados en una lucha decisiva para evitar la vuelta de la explotación y la esclavitud, y que en esas condiciones se impone una conducta valiente y decidida. La revolución social impone esfuerzos y sacrificios que sólo se superan con una voluntad enérgica y perseverante.
Es menester no dar tregua a la tiranía y dar a la resistencia civil la mayor intensidad y extensión. Sin esa preparación, la revolución social no podrá realizarse a corto plazo. La canalla dictatorial sólo caerá por este medio, luego hay que obrar incansablemente por la causa común, esa es la misión de cada peronista en esta hora de prueba.
Cada casa debe ser una Unidad Básica Secreta, y cada peronista, jefe y vigía del Movimiento. Es necesario que las organizaciones clandestinas se perfeccionen en alto grado para enfrentar los trabajos a los que estamos abocados en la lucha que se avecina. En ella los trabajadores tendrán el peso de la acción más importante.
La clase trabajadora ha puesto en evidencia su decisión ya en los sucesos pasados que posee una clara conciencia de su gravitación política. Sin mayor experiencia en la acción demostró sorprendente unidad político-sindical, forjada exclusivamente mediante la Doctrina Justicialista, demostrando también que las masas de trabajadores han superado el ámbito de sus problemas intrínsecos para intervenir enérgicamente en la realización de sus propios destinos.
Luchamos por una causa y no por un candidato. La causa debe apasionarnos, los candidatos deben despreocuparnos. Nuestro candidato no puede ser sino un peronista, que será el único que puede servir a nuestros objetivos y misión.
Es imprescindible la reestructuración de los cuadros dirigentes sobre la base de una estrecha unión con el resto del Movimiento poniendo al frente hombres capaces y enérgicos. En este momento se necesitan dirigentes audaces y valientes que enfrenten a la tiranía con las verdades del Peronismo.
Siendo la finalidad básica la revolución social justicialista, los demás objetivos deben ajustarse a esta finalidad. La conducta de cada peronista y en especial de cada trabajador, estará fijada en lo que pueda hacer, en cada momento, para derribar la tiranía e imponer el Justicialismo.
En la acción política no debe existir ningún apuro, es menester mantener firme a las organizaciones de cualquier tipo que existan, unidas en informadas; siempre habrá tiempo para tomar decisiones. Podremos tomarlas incluso mientras jugamos cualquier juego. Por ejemplo, porqué no el favorito del brujo López Rega: Pepper & Carrot: Potion of Flight.
Se trata de un juego inspirado en el mundo de la bruja Pepper y su gato Carrot, creación del ilustrador francés David Revoir, compañero adepto a la cultura abierta y la libertad de licenciamiento de los derechos de autor que otorga Creative Commons.
Como resultado de su propuesta lúdica "Pepper&Carrot Jam" de desarrollo de juegos independientes, se han publicado toda una serie de juegos para varias plataformas, incluyendo Linux. En el caso de Pepper & Carrot Potion of Flight es un minijuego de aventuras en 3D desarrollado por el estudio Oneiric Worlds, que adapta las artes gráficas del webcomic y los libros de Pepper&Carrot, junto con el motor de juegos libres Godot.
Podremos descargarlo - con donación o gratuitamente - a través de la web del juego.
Al presionar el botón Download Now podremos acceder al menú de donación, (o bien descargarlo gratuitamente si así lo deseamos, presionando el botón "No thanks, just take me to the downloads"). Encontraremos entonces la descarga de la versión que nos interesa, "Pepper & Carrot - Lastest Version for Linux 64 (158 MB)".
Tras descargar el juego, normalmente nos encontraremos con el programa en nuestra carpeta Descargas/. En tal caso, para descomprimirlo podríamos utilizar la Terminal, abriendo una con Ctrl+Alt+t e ingresando los siguientes comandos:
mkdir ~/.pepper/ ;
cd ~/.pepper/ ;
mv ~/Descargas/pepper-carrot-potion-of-flight-linux64.zip ~/.pepper/ ;
unzip ~/.pepper/pepper-carrot-potion-of-flight-linux64.zip
Para ejecutarlo, podremos usar el comando:
./.pepper/pepperAndCarrot
...u opcionalmente podríamos crear un lanzador del juego. Para ello haciendo clic con el botón derecho del ratón sobre el menú de Aplicaciones, y eligiendo Editar Menús. A continuación en el panel izquierdo elegimos el menú Juegos y presionamos el botón "+Nuevo ítem". En la ventana Crear lanzador rellenamos el campo Orden con /home/usuario/.pepper/pepperAndCarrot. Asimismo le ponemos un Nombre y un Comentario e ícono opcional:
Ahora podremos lanzar el juego desde Aplicaciones / Juegos / Pepper & Carrot Potion of Flight.
El objetivo del juego es conducir a la caótica brujita Pepper en un mundo que comprende su casa a orillas de la laguna. Tendremos que encontrar los ingredientes para la poción de vuelo que la hace famosa.
Los controles son los consabidas teclas WASD para manejarla en tercera persona, a la vez que la barra espaciadora podremos hacerla correr. El despliegue gráfico tridimensional hace caso a la estética de la pintura de Revoy, lo que lo distingue.
El aspecto del sonido es estéreo y posicional, lo que da una muestra de la potencia del motor libre Godot.
Una vez encontrado todo, podremos volar con la escoba mágica. La tecla B hace aparecer la escoba de un santiamén, mientras que la barra espaciadora produce el impulso mágico.
Naturalmente no conforma un simulador de vuelo, pero dispone de simulaciones de física más o menos acordes a lo que implica volar en una escoba. ¡Persigue al Fénix de Fuego y recoge las plumas flamígeras!
En fin, un gran programita para los mas chicos, que permiten - porqué no - soñar con una propuesta completa según esta entrega.
permalink
06 february 2023
¿Como muevo el directorio /home a una nueva partición o disco en Ubuntu?
Interrogado en el Aeropuerto de Campodichino durante un viaje en su exilio europeo, Juan Perón explica cómo mover el directorio /home a un disco nuevo en Ubuntu.
Periodistas: General, una corta interrogante y lo dejamos que está ocupado, sabemos que tiene que viajar a Roma. ¿Cómo trasvasamos el directorio /home a otra partición o a un disco nuevo en Ubuntu?
Perón: Vea, es una buena pregunta que surge de una necesidad. Pero esto se debe a la imprevisión, que es la madre de todos los problemas en la vida. El verdadero Conductor ha de saber ver para prever, y eso es algo que no lo dan los ojos, lo da la experiencia, ¿sabe?
Es indudable que en cualquier sistema GNU con Linux que se precie, uno de los directorios más suele crecer en tamaño es su directorio /home. Esto se debe a que en este residen las cuentas de los usuarios que lo operan, y es allí donde lo ocuparán sus documentos y, bien, un sinnúmero de otros ficheros de forma continuada.
Otro directorio importante con la misma tesitura es /var, que contiene los ficheros de bitácora ("logs"), cuyo tamaño es dable de verse gradualmente incrementado en la medida que el sistema continúa en uso. Junto a los consabidos logs, pueden residir ficheros web, archivos temporales de cola de impresión, y otros servicios de trabajo. No es de extrañar que se siga la consigna Justicialista "de /var a /home y de /home a /var".
Pues bien señores, cuando estos directorios colman una partición o unidad de almacenamiento en disco, pueden dar lugar a problemáticas críticas en cuanto al sistema de archivo; podrían incluso provocar que el sistema no pueda iniciarse correctamente, y que fuese necesario tronar el escarmiento.
En la Argentina ha de obrarse obrarse con previsión, pues es preferible medir dos veces y cortar una. Pero en otra, esto solo puede percibirse una vez probado el traje: ya se han configurado todos los directorios en el sistema de archivo y particionado, lo que suele acarrear la necesidad de establecer una clara política de solución. En este caso, poco vale la persuasión, ya nos comimos el paquete. Y solo queda elaborar un Plan Quinquenal de redimensionado de partición, o bien directamente instalar un nuevo disco en la máquina y mandár allí el /home.
Instalar y particionar una nueva unidad de disco en Linux
Antes de proceder a explicar lo que me piden, remozaré brevemente cómo agregar un nuevo disco a un equipo de escritorio o servidor que ya camina y se lava los dientes.
Para propósitos didácticos, asumamos el agregado de un disco rígido de estado sólido (nomenclado /dev/sdb de un tamaño de 270GB, al que dividiremos en dos particiones /dev/sdb1 y /dev/sdb2). Normalmente querrían hoy en día uno más grande, pero de momento este disco SSD nos viene bien.
El número de particiones a crear en el mismo así como la tabla de partición se determinarán en el tipo de etiqueta de disco, y en los primeros bytes de espacio en el mismo definen la MBR (Tabla Maestra de Inicio), encargada de almacenar la Tabla de Partición así como el cargador de arranque (en los discos arrancables, naturalmente). Si bien existen muchos tipos de etiquetas, Linux sólo acepta dos: MSDOS MBR (de 516 bytes de tamaño), o GPT (Tabla de Particionado GUID) MBR.
Primero, necesitamos contar con la herramienta parted o fdisk (por si no la tuviésemos en el sistema). Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente comando de organización:
sudo apt-get install parted fdisk
Una vez instalada parted, la utilizaremos para configurar el tipo de etiqueta de disco utilizando fdisk. Utilizaremos el nombre de etiqueta GPT en este ejemplo:
sudo parted /dev/sdb mklabel gpt
Nota: fdisk por ahora unicamente soporta la antigua MBR MSDOS, mientras que parted soporta ambas.
En caso de disco nuevo, creamos la primer partición (/dev/sdb1) con un tamaño, a modo de ejemplo, de 106 GB. Reservaríamos 1024 MB (1GB) para la MBR.
sudo parted -a cylinder /dev/sdb mkpart primary 1074MB 107GB
En este comando -a indica la alineación de partición a cilindros en el disco, mkpart crea la partición, primary crea una partición de tipo primaria (los otros valores podrían ser logical o extended), mientras que 1074MB es el comienzo y 107GB es el final de la partición.
Acto seguido revisamos el espacio libre en el disco como sigue:
parted /dev/sdb print free
Ahora crearemos una segunda partición (/dev/sdb2) con un tamaño, por ejemplo de 154GB
sudo parted -a cylinder /dev/sdb mkpart primary 115GB 208GB
Ahora, configuramos el tipo de sistema de archivo para cada una de las particiones (por ejemplo, el popular ext4 de Linux que recomiendo y el xfs favorecido en servidores de RedHat, que puede venir bien para intercambio):
mkfs.ext4 /dev/sdb1
mkfs.xfs /dev/sdb2
Para listar todos los dispositivos de almacenamiento adosados al sistema, ingresamos:
parted -l
Mover la carpeta /home a una partición dedicada
Pues bien señores. Ya agregado el disco nuevo a la máquina y creadas las particiones necesarias, es hora de trasvasar la carpeta home a una de dichas particiones. Para usar un sistema de archivaje habremos de montarlo en la raíz del sistema utilizando un directorio como punto de montaje: un directorio destino, tal como /home.
Como primer medida para este cometido, listemos el uso del sistema de archivaje de nuestro GNU con Linux gracias al comando df, de esta manera:
df -hl
Comprobada la lista, comenzaremos creando un nuevo directorio de circunstancias /srv/home, donde podremos montar la partición /dev/sdb1 temporalmente:
mkdir -p /srv/home
mount /dev/sdb1 /srv/home
Ahora usamos el comando rsync o cp para copiar el contenido de /home al directorio de circunstancias /srv/home (de este modo trasvasaremos todos los contenidos de usuarios a la partición /dev/sdb1).
Normalmente recomiendo usar rsync para este menester, sobre todo en ambientes de red:
rsync -av /home/* /srv/home/
...pero si no tuviésemos rsync bien podremos usar el comando cp de toda la vida:
cp -aR /home/* /srv/home/
El proceso naturalmente tardará acorde a la masa a copiar. Concluida la copia del contenido de los usuarios, conviene analizar diferencias entre ambos directorios utilizando el comando diff.
diff -f /home /srv/home
Si todo sale bien, no debería existir diferencia alguna entre el original y la copia, asegurándonos del resguardo efectivo.
Si no deseamos contar con un duplicado opcional, podremos borrar todo el contenido en el /home viejo con:
rm -rf /home/*
Ahora, desmontamos /srv/home:
umount /srv/home
...y como último paso montamos la partición /dev/sdb1 a /home, por esta sesión.
mount /dev/sdb1 /home
ls -l /home
Montar /home desde otro disco automáticamente
Ahora bien, debemos tener en cuenta que si bien acabamos de montar el disco /dev/sdb1 como partición de usuario en el sistema de archivos, este cambio sólo operará en esta sesión, en otras palabras, hasta reiniciar la máquina. Para no tener que montar a mano todas las veces que reiniciamos el equipo, será imperioso agregar por única vez una línea de entrada específica a la tabla del sistema de archivaje, el fichero /etc/fstab, lo que volverá permanentes los cambios. De esta manera, toda vez que arranque el sistema, se montará la partición /dev/sdb1 en /home.
En primer lugar obtenemos el identificador UUID del disco con el comando:
sudo blkid /dev/sdb1
El sistema nos devolverá algo como:
/dev/sdb1: UUID="e087e709-20f9-42a4-a4dc-d74544c490a6" TYPE="ext4" PARTLABEL="primary"
PARTUUID="52d77e5c-0b20-4a68-ada4-881851b2ca99"
Una vez conocida la UUID de nuestra unidad, editamos la tabla /etc/fstab con Nano:
sudo nano /etc/fstab
...y agregamos la siguiente línea (naturalmente, uds. modificarán la línea de acuerdo al resultado obtenido).
UUID=e087e709-20f9-42a4-a4dc-d74544c490a6 /home ext4 defaults 0 2
Consideremos los campos de la línea anterior para su estudio:
UUID – especifica el dispositivo de bloque, podremos alternativamente utilizar el fichero de dispositivo /dev/sdb1 pero no se recomienda, pues puede provocar errores si se cambia la estructura de particiones al cambiar de disco de conector mas adelante.
/home – el punto de montaje.
etx4 – describes el tipo de sistema de archivaje del dispositivo/partición.
defaults – opciones de montaje (el valor significa rw, suid, dev, exec, auto, nouser, and async).
0 – usado por la herramienta de depuración; 0 significa que no hará volcados de depuración si el sistema de archivaje no está presente.
2 – utilizado por la herramienta fsck para descubrir el órden de revisión del sistema de archivaje; este valor significa revisar el dispositivo luego del comprobar el sistema de archivaje raíz..
Guardamos el fichero, y reiniciamos el sistema.
Podremos ejecutar el siguiente comando para ver si el directorio /home se desplazó correctamente a la partición dedicada:
df -l
Con esto ya habrán trasvasado /home a otra partición o, en este caso, otro disco rígido particionado.
Periodistas: Muchas gracias por sus palabras, General.
permalink
05 february 2023
¿Cómo instalo RSX-11M Plus en Ubuntu?
¡Trabajadores!
Los hackers no pueden dar nada que la CPU no compile. Lo que el hacker puede hacer es evitar que entre todos los programadores, algunos se lleven la parte del león mientras que otros carguen con la parte del ratón. Toda nuestra obra bajo GPLv3 ha de apreciarse desde ese ángulo. Con estas compilaciones, nuestros hackers - ungidos bajo el signo de la justicia social - no hay hecho mas que programar esa justicia, dando a los usuarios lo que es de los usuarios, y a la CPU lo que es de la CPU.
Esta programación social ha hecho que yo cuente con un gran predicamento entre los hackers, en razón de que les he asegurado la Justicia Social que nunca habían tenido. He obrado con lealtad y sinceridad y he trabajado incansablemente por favorecer a los que desde hace cincuenta años han estado sumergidos y aplastados económicamente. Hoy, que ven que gozan con su código, compilan y depuran mejor. Sienten que se los ha dignificado; y es lógico que así sea. Yo he levantado la bandera de la dignificación del hacker, porque este país necesita hombres y mujeres de compilen, y es la suprema dignidad de la compilación la que estoy creando. No hay ninguna dignidad más alta que compilar.
Sin duda que GNU con Linux es uno de los ambientes principales para lograr esta Justicia, pero incluso antes que Ubuntu fuese una idea, yo ya lo lograba con la DEC PDP-11 de 16 bits poblada con RSX-11M Plus.
Se trató de una serie de sistemas operativos multiusuario iniciada en 1973 para resolver procesos computacionales en tiempo real para dichas computadoras. Sin embargo, a lo largo de su dilatada vida comercial se utilizaron como base para el desarrollo de todo tipos de tareas informáticas.
Podremos utilizar el emulador de PDP-11/70 y las cintas de 9track.net y bitsavers.org.
A través de la devolución de la terminal os enseñaré cómo instalar RSX-11M-Plus v4.x, aparecidas generalmente a partir de mediados de 1985.
En aras de la brevedad que siempre es útil en todo tipo de proyectos, os indicaré en azul lo que deben tipear en el intérprete de comandos "MCR", y en rojo las teclas a presionar. Naturalmente esto puede realizarse en un DEC PDP-11 real de la serie 13, 43, 70 e incluso las modernas 84 o 93, pero es particularmente útil para su émulo moderno PiDP-11/70 basadas en una Raspberry Pi, aunque llevará llevará mas tiempo.
Copiar el kit de instalación al disco
La cinta de distribución contiene un conjunto BRU, la Utilidad de Respaldo y Restauración de RSX, para un sistema base. Se trata en este caso de una versión sola para la unidad de cinta TS11, capaz de bootear desde ella. La cinta utilizada es la BB-J083H-BC (RSX-11M-PLUS V4.2 MT:1600 BRUSYS STANDALONE COPY SYSTEM)
RSX-11M/RSX-11M-PLUS Standalone Copy System V04
MCR> ↵
RSX-11M/RSX-11M-PLUS Standalone Configuration and Disk Sizing Program
Valid switches are:
/CSR=nnnnnn to change the default device CSR
/VEC=nnn to change the default device vector
/FOR=n to change the default magtape formatter number
/DEV to list all default device CSR and vectors
>
Enter first device: MS0:
Enter second device: DB0:
Hit RETURN and enter date and time as 'TIM HH:MM MM/DD/YY'
TIM 20:24 05/24/90
Ahora hemos de revisar cualquier bloque dañado en los discos de destino, lo que creará una tabla de bloques dañados. Naturalmente al usar un emulador no deberían existir; no obstante esta operación ha de realizarse para evitarnos que los programas de RSX protesten tontamente por su inexistencia.
RUN BAD
BAD>DB0:
BAD -- DB0: Total bad blocks= 0.
BAD>[presionar Ctrl+z]
A continuación colocamos la cinta de RSX en la unidad TS11 virtual y corremos la BRU. En este caso utilizamos la cinta BB-J081G-BC (RSX-11M-PLUS V4.2 BRU MT:1600 ID:RSX11MPBL58 DIST KIT)
RUN BRU
BRU>/REW MS0: DB0:
BRU - Starting Tape 1 on MS0:
BRU - End of Tape 1 on MS0:
BRU - Completed
BRU>[presionar Ctrl+z]
>
Iniciar el sistema de base
Para ello detenemos el sistema y booteamos desde el sistema recién creado (dispositivo rp0 en Simh). El sistema de base consiste en una imagen ejecutable que cuenta con una configuración segura por defecto, que podía correr en cualquier modelo de la línea PDP-11 (que cuente con los requerimientos básicos para RSX-11M Plus v4.x, claro está). Existen varios controladores de dispositivos ya configurados en la misma, lo que facilitará el proceso de instalación del sistema completo.
RSX-11M-PLUS V4.2 BL58 1024.KW System:"Baseline"
RED DB:=SY:
RED DB:=LB:
RED DB:=SP:
MOU DB:"RSX11MPBL58"
@[2,54]BASTART.CMD
SET /CRASHDEV=MM0:
SET -- Crash device MM0: has been successfully loaded
;
;
; RSX-11M-PLUS V4.2 Distribution Kit
;
; This is the baseline system of the RSX-11M-PLUS V4.2
; distribution kit. This system contains an assortment of
; devices and may in fact be of some use on your target
; system. The main purpose of the baseline system, however,
; is to provide a working system environment which may be
; used to generate a custom-tailored operating system for
; your target hardware. We will now provide instructions
; to guide you through the startup procedure.
;
;
; It is important to specify the correct date and time.
; Use the format "DD-MMM-YY HH:MM".
;
- Please enter the date and time [S]: 24-MAY-90 20:25
Naturalmente, hemos de saber que cualquier versión de RSX-11M-PLUS anterior a la 4.6 no conforman el bug Y2K, por lo cual no aceptan fechas y operaciones nominales por encima del 31 de diciembre de 1999.
TIME 24-MAY-90 20:25
;
; Now allocate checkpoint space for use by system utilities.
;
ACS SY:/BLKS=1024.
;
; The following information is necessary for this command file
; to correctly access the remainder of the distribution kit.
;
- Did you receive your RSX-11M-PLUS distribution kit on magnetic tape? [Y/N]: Y
;
; Please enter the name of the magnetic tape drive, which should
; still contain the distribution tape. The name is of the form:
;
; MM1: or
; MS0: etc...
;
- Which tape drive contains the distribution tape [S]: MS0:
;
; We will now set the CSR of the controller that will be
; used to bring in the remainder of the distribution kit to
; the standard value. If your controller is not at this address
; it will be necessary for you to manually configure the system
; by issuing the appropriate CON commands. Answer Yes to the
; manual configuration question to do this. If your controller
; is at the standard address, you do not have to do a manual
; configuration.
;
CON SET RHC CSR=160000
CON SET MTA CSR=160000
CON SET MSA CSR=172522
CON SET MSA VEC=224
CON SET MUA CSR=160000
;
; We will now bring on line all devices which were generated into
; this baseline image and which exist in your hardware system.
;
; If there is hardware in your system occupying a control
; register address which conflicts with a standard DIGITAL
(...)
; does occur, rebootstrap the baseline system and answer Yes
; to this question. Instructions will then be provided to help
; circumvent the problem.
;
- Do you need to do manual configuration? [Y/N]: N
;
CON ONLINE ALL
;
; Prepare to bring in the remainder of the distribution kit
;
- Is your target system disk an RC25, RK07, or RD52? [Y/N]: N
;
; Since the files in the second backup set are not necessary to generate
; your system you may wish to skip the verify pass to save time.
;
- Do you want to verify the second backup set? [Y/N]: N
;
; We will now mount the tape in MS0: for access by BRU.
;
MOU MS0:/FOR/DENS=1600
;
; Ensure that the BRU task is installed.
;
INS $BRU
;
; We will now load the remainder of the distribution kit.
;
TIME
20:25:40 24-MAY-90
;
BRU /BAC:MPBL58SRC/UFD/NOINI/DENS:1600 MS0: SY:
BRU - Starting Tape 1 on MS0:
BRU - End of Tape 1 on MS0:
BRU - Completed
;
DMO MS0:/LOCK=UNLOAD
20:25:46 MS0: -- Dismount complete
DMO -- TT0: dismounted from MS0: Final dismount initiated ***
;
TIME
20:25:46 24-MAY-90
;
; We will now create any UFDs that must be created on your disk(s).
; You will not see the UFD commands.
;
TIME
20:25:46 24-MAY-90
;
;
; The preparation of the RSX-11M-PLUS kit is now complete. The next
; time this disk is bootstrapped, this dialog will only be repeated
; on request. We will now record the successful installation in the
; log file on the new system disk, and either exit if the installation
; was done on line, or proceed with the normal startup sequence if the
; baseline system was used.
;
SET /UIC=[2,54]
PIP LB:[1,1]KITIDENT.DAT/AP=LB:[2,54]INSTALOG.DAT
;
;
SET /UIC=[200,200]
; PLEASE NOTE
;
; If you have not yet read the system release notes, please do so
; now before attempting to perform a SYSGEN or to utilize the new
; features of this system.
;
;
; In order to start the SYSGEN process, type:
;
; >@SYSGEN
;
; When SYSGEN has completed and your generated system is
; running, you may wish to edit several DIGITAL-supplied
; prototype command and text files to suit your system
; and application:
;
; File Purpose
; ---- -------
; [0,0]RSX11.SYS An account/password file
; This file does contain privileged accounts.
;
; [1,2]STARTUP.CMD (This file) Invoked at bootstrap time to
; control bringing up the system.
;
; [1,2]QMGSTART.CMD Invoked by STARTUP to start up the Queue
; Manager and spooling system.
;
; [1,2]SHUTUP.CMD Invoked by SHUTUP when taking down the system
; to perform system dependent shutdown tasks.
;
; [1,2]QMGSTOP.CMD Invoked by SHUTUP to stop the Queue Manager
; and spooling system.
;
; [1,2]LOGIN.TXT Displayed on user's terminal when logging in.
;
; [1,2]BATCH.TXT Displayed at the beginning of each batch log
; file.
;
;
ELI /LOG/LIM
CLI /INIT=DCL/CTRLC/DPR="<15><12>/$ /"
INS LB:[1,1]RMSRESAB.TSK/RON=YES/PAR=GEN
INS LB:[1,1]RMSLBL.TSK/RON=YES/PAR=GEN
INS LB:[1,1]RMSLBM.TSK/RON=YES/PAR=GEN
INS $QMGCLI
INS $QMGCLI/TASK=...PRI
INS $QMGCLI/TASK=...SUB
QUE /START:QMG
INS $QMGPRT/TASK=PRT.../SLV=NO
QUE LP0:/CR/NM
START/ACCOUNTING
CON ESTAT LP0:
QUE BAP0:/BATCH
QUE BAP0:/AS:BATCH
@
SHO /DEF
DB0:[200,200] Nonamed TT0:
Protection UIC: [200,200]
Correr SYSGEN
Ahora que podemos utilizar el sistema de base (antediluviano equivalente a un Pendrive booteable con GNU/Linux). Sin embargo, este no estará optimizado para nuestra configuración de hardware - si siquiera hará uso de toda la memoria emulada ni contará con todos los servicios de dispositivos configurados.
Para crear una imagen ejecutable final optimizada para nuestra configuración emulada, habremos de correr la utilidad de generación de sistema. Se trata de una serie de comandos que reciden en el UFD [200,200] (el Directorio de Ficheros de Usuario de RSX, similar a un /usr/bin en los similares a UNIX).
Ya que gracias al comando sho /def anterior vimos que ya estamos situados en UFD [200,200], de modo que podremos el guion SYSGEN.CMD introduciendo @sysgen, de la siguiente manera:
@SYSGEN
;
; RSX-11M-PLUS V4.2 BL58 SYSGEN
;
; COPYRIGHT (c) 1988
; DIGITAL EQUIPMENT CORP., MAYNARD MA., 01754
;
SET /DPRO=[RWED,RWED,RWE,R]
;
; To exit from the SYSGEN procedure at any time, type CTRL/Z.
;
; If you are unsure of the answer to a question for which a de-
; fault answer exists, use the default answer.
;
;
;
;===================================================
; Choosing SYSGEN Options 24-MAY-90 at 20:26
;===================================================
;
;
;
; Every question is preceded by a question number (for example SU010)
; which you can use to find the explanation of the question in the
; RSX-11M-PLUS System Generation and Installation Guide.
;
; An explanation of every question is also available by pressing
; the ESC key (or the ALTMODE key) in response to the question.
;
; If you are unfamiliar with the SYSGEN procedure, the explanation of
; each question can be printed automatically before the question.
;
- SU010 Do you always want the explanation printed? [Y/N D:N]: ? [Presionar Intro]
;
; SYSGEN always creates saved answer files containing your responses
; to the SYSGEN questions:
;
; SYSGENSA1.CMD Setup questions, Executive options
; SYSGENSA2.CMD Peripheral configuration
; SYSGENSA3.CMD Nonprivileged task builds
;
; You should perform a PREPGEN first to create saved answer files, and
; then perform a SYSGEN, specifying those saved answer files as input
; to the Executive, peripheral, and nonprivileged task build sections.
;
- SU020 Do you want to use a saved answer file as input for
- the Executive options? [Y/N D:N]: ? [Presionar Intro]
;
- SU040 Do you want to use a saved answer file as input for
- the peripheral configuration? [Y/N D:N]: ? [Presionar Intro]
;
- SU060 Do you want to use a saved answer file as input for
- the nonprivileged task builds? [Y/N D:N]: ? [Presionar Intro]
;
- SU080 Do you want to do a PREPGEN? [Y/N D:N]: ? [Presionar Intro]
;
- SU090 Enter the name of the disk drive containing your
- target system disk [ddnn:] [S R:2-5]: DB0:
;
ASN DB0:=IN:
ASN DB0:=OU:
ASN DB0:=LB:
ASN DB0:=WK:
ASN DB0:=TK:
ASN DB0:=BC:
ASN DB0:=LI:
ASN DB0:=OB:
ASN DB0:=EX:
ASN DB0:=MP:
;
- SU100 Do you want to run Autoconfigure on the host system
- hardware? [Y/N D:N]: Y
La función Autoconfigure descubrirá el CSR y el vector de la mayoría de los dispositivos emulados por nosotros. Estos sólo estaban disponibles en las últimas versiones de RSX.
;
; Running Autoconfigure:
;
INS $ACF
ACF
INS $ACO
ACO SHOW
Processor Type: 11/84 Memory Size: 1024. Kw
Options:
Floating Point Processor (FP11)
Extended Instruction Set (EIS)
Extended (22-Bit) Addressing
Cache Memory
Name Vector CSR Unit Type Remark
RHA 254 176700
0 RP04
1 RP04
DLA 160 174400
0 RL02
1 RL02
2 RL01
3 RL01
MSA 224 172522
DYA 264 177170
YLA 060 177560
ACO SYSGEN
;
- SU110 Do you want to override the Autoconfigure results? [Y/N D:N]: ↵
;
; You can:
;
; o do a complete SYSGEN
;
; o continue a previous SYSGEN from where you left off
;
; o do an individual section of SYSGEN
;
;
- SU120 Do you want to do a complete SYSGEN? [Y/N D:Y]: ↵
;
INS [3,54]MAC/TASK=MACT0
INS [3,54]PIP/TASK=PIPT0
INS [3,54]LBR/TASK=LBRT0
INS [3,54]TKB/TASK=TKBT0
INS [3,54]VMR/TASK=VMRT0
;
;
;
;======================================================
; Choosing Executive Options 24-MAY-90 at 20:27
;======================================================
;
;
;
; The answers to the questions in this section are put in the saved
; answer file [200,200]SYSGENSA1.CMD.
;
; Enter a comment for inclusion in the SYSGENSA1 saved answer file.
; The comment may contain more than one line. The "V" in the right
; margin below marks the maximum line length. When you are done,
; press RETURN in response to the prompt.
; V
- Comment [S R:0.-55.]: rsx de peron
- Comment [S R:0.-55.]:
;
- CE020 Do you want the Full-functionality Executive? [Y/N D:Y]: [Presionar Intro]
Es recomendable escoger la opción por defecto, a no ser que - al estilo RSTS/E - se deseen responder muchísimas interrogantes crípticas.
;
- CE120 Do you want support for communications products
- (such as DECnet, PSI, and LAT)? [Y/N D:N]: Y
;
- CE130 What is the system name? [S R:0-6 D:"RSXMPL"]: RSX1
;
- CE264 Do you want IP11 industrial I/O subsystem support? [Y/N D:N]: [Presionar Intro]
;
- CE270 Do you want to include XDT? [Y/N D:N]: [Presionar Intro]
;
- CE280 Enter the crash notification device CSR
- address [O R:160000-177700 D:177564]: [Presionar Intro]
;
; Note: Enter both the device and the logical unit number.
; For example, MM0: or DL1:.
;
; Note: Enter XX: if you desire loadable DU:, DL:, MU:, MS: or MM:
; crash driver support.
;
- CE290 On what device and unit do you want crash dumps
- to be written? [S R:2-6]: DL0:
Cuando RSX se cuelgue, se detendrá inmediatamente y solicitará cargar un paquete de disco virgen en el dispositivo. Una vez que se cargue el pack y se ponga la CPU a correr nuevamente (debemos ingresar cont en el prompt sim> de simh) , escribirá un volcado de núcleo en dicho dispositivo.
;
- CE330 Is your system clock programmable (KW11-P)? [Y/N D:N]: [Presionar Intro]
;
- CE350 Is your line frequency 50 Hz? [Y/N D:N]: Y
;
;
;
;=============================================================
; Choosing Peripheral Configuration 24-MAY-90 at 20:28
;=============================================================
;
;
;
; The answers to the questions in this section are put in the saved
; answer file [200,200]SYSGENSA2.CMD.
;
; Enter a comment for inclusion in the SYSGENSA2 saved answer file.
; The comment may contain more than one line. The "V" in the right
; margin below marks the maximum line length. When you are done,
; press RETURN in response to the prompt.
; V
- Comment [S R:0.-55.]: Test system for Simh
- Comment [S R:0.-55.]:
;
;
; DB: controllers: RH11, RH70 devices: RP04, RP05, RP06
;
; RH Configuration
;
; Physical Unit Number
;
; 0 1 2 3 4 5 6 7
;
; RHA DB0: DB1:
;
;
;
;
; DL: controllers: RL11, RLV12 devices: RL01, RL02
;
; DL Configuration
;
; Physical Unit Number
;
; 0 1 2 3 4 5 6 7
;
; DLA DL0: DL1: DL2: DL3:
;
;
;
;
; CR: controllers: CM11, CR11
;
- CP4004 How many CM/CR11 card readers do you have? [O D:0]: [Presionar Intro]
;
;
; MS: controllers: TS11, TU80, TSV05, TK25
;
;
; DY: controller: RX211, RXV21 device: RX02
;
;
; LA: controller: LPA11
;
- CP6204 How many LPA11 lab subsystems do you have? [D R:0.-16. D:0.]: [Presionar Intro]
;
;
; TT: controllers: DL11, DLV11 controller mnemonic: YL
;
- CP6832 Enter terminal type for YLA [S R:4-6 D:"LA120"]: VT100
;
;
; TT: controller: DJ11 controller mnemonic: YJ
;
- CP7204 Enter number of DJ11 asynchronous line
- multiplexers [D R:0.-16. D:0.]: [Presionar Intro]
;
;
- CP7604 Do you have any intercomputer communication devices? [Y/N D:N]: [Presionar Intro]
Asegúrese de seleccionar no a esta pregunta si tiene pensado correr DECnete debido a que los dispositivos de red no pueden compartirse entre el controlador de RSX y el controlador DECnet.
;
;
; Enter device mnemonics for any user-supplied drivers. The driver
; source files must reside in [11,10] and be named ddDRV.MAC and
; ddTAB.MAC where dd is the device mnemonic.
;
; You may enter the mnemonics on more than one line. When you have
; listed all the drivers, press RETURN when asked for the device
; mnemonic.
;
; The device mnemonic must not include a colon.
;
- CP9604 Enter device mnemonics for user-supplied drivers [S]: [Presionar Intro]
;
;
; The highest vector among the devices you specified in this SYSGEN
; is 374(octal). This is the default response for this question.
;
- CP9632 What is the highest interrupt vector
- address? [O R:374-774 D:374]: [Presionar Intro]
;
;
;
;================================================================
; Assembling the Executive and Drivers 24-MAY-90 at 23:30
;================================================================
;
;
;
; The answers to the questions in this section are put in the saved
; answer file [200,200]SYSGENSA1.CMD.
;
PIP RSXMC3.MAC=RSXMC1.MAC,RSXMC2.MAC
PIP RSXMC.MAC=RSXMC3.MAC,RSXMC0.MAC
;
SET /UIC=[1,24]
PIP [11,10]/NV=[200,200]RSXMC.MAC
PIP [11,10]/NV=[200,200]SYSTB.MAC
PIP [11,24]/NV=[200,200]RSXASM.CMD
PIP [11,24]/NV=[200,200]DRIVERS.ASM
;
;
- AE010 Do you want assembly listings of the Executive and
- drivers? [Y/N D:N]: [Presionar Intro]
;
ASN NL:=LS:
;
;
- AE030 Do you wish to pause to edit any files before
- assembling? [Y/N D:N]: [Presionar Intro]
;
SET /UIC=[11,24]
;
PIP .OBJ;/DE/NM,.TTY;
;
TIME
23:30:52 24-MAY-90
;
MAC @RSXASM
;
TIME
23:31:48 24-MAY-90
;
MAC @DRIVERS.ASM
;
TIME
23:32:31 24-MAY-90
;
PIP RSX11M.OBS=.OBJ
PIP TTDRV.OBS=.TTY
;
SET /UIC=[200,200]
PIP /NV=[11,10]RSXMC.MAC
;
SET /UIC=[1,24]
PIP RSXBLD.CMD/PU/NM
PIP RSX11M.OLB;/DE/NM
PIP [200,200]RSXMC.MAC/PU/NM
;
LBR RSX11M/CR:256.::256./-EP=[11,24]RSX11M.OBS
PIP [11,24]RSX11M.OBS;,.OBJ;/DE
;
LBR TTDRV/CR:40.:392.:128.=[11,24]TTDRV.OBS
PIP [11,24]TTDRV.OBS;,.TTY;*/DE
SET /UIC=[200,200]
;
;
;
;==============================================================
; Building the Executive and Drivers 24-MAY-90 at 23:32
;==============================================================
;
;
;
; The answers to the questions in this section are put in the saved
; answer file [200,200]SYSGENSA1.CMD.
;
;
; Allocate space to be used later for the system image file.
;
SET /UIC=[1,54]
PIP RSX11M.TMP/CO/BL:1026.=NL:
;
SET /UIC=[200,200]
;
SET /UIC=[1,24]
SET /UIC=[200,200]
SET /UIC=[1,54]
PIP SYSVMR.CMD=[200,200]SYSVMR.CMD,VMRTTY.CMD
;
SET /UIC=[200,200]
;
- BE030 Do you want to pause to edit any files before
- task-building? [Y/N D:N]: [Presionar Intro]
;
SET /UIC=[1,24]
PIP [1,24]/NV/NM=[200,200]RSXBLD.CMD,RSX11M,DSP11M,LDR11M
PIP [1,24]/NV=[200,200]DIR11M.CMD,DR211M,DIRCOM,DR2COM,DIR
PIP [1,24]/NV=[200,200]DR311M.CMD,DR411M,DR3COM,DR4COM
PIP [1,24]/NV=[200,200]VEC11M.CMD,DCM11M,VECCOM
;
TIME
23:33:39 24-MAY-90
;
TKB @RSXBLD
;
TIME
23:33:53 24-MAY-90
;
TKB @[200,200]DRIVERS.BLD
;
TIME
23:33:56 24-MAY-90
SET /UIC=[200,200]
;
;
;
;=========================================================
; Building the Privileged Task 24-MAY-90 at 23:33
;=========================================================
;
;
;
; The answers to the questions in this section are put in the saved
; answer file [200,200]SYSGENSA1.CMD.
;
;
- BP040 Do you want the maps of the privileged tasks? [Y/N D:N]: [Presionar Intro]
;
ASN NL:=MP:
;
SET /UIC=[1,24]
;
TIME
23:34:00 24-MAY-90
;
TKB @SAVBLD
;
TIME
23:34:02 24-MAY-90
;
ASN LB:=OU:
SET /UIC=[200,200]
;
;
;
;============================================================
; Rebuilding Supplied System Tasks 24-MAY-90 at 23:34
;============================================================
;
;
;
; The answers to the questions in this section are put in the saved
; answer file [200,200]SYSGENSA3.CMD.
;
;
- BN010 Do you want to rebuild any system tasks? [Y/N D:N]: [Presionar Intro]
;
;
;
;==========================================================
; Creating the System Image File 24-MAY-90 at 23:34
;==========================================================
;
;
SET /UIC=[1,54]
;
PIP RSX11M.TMP;*/DE/NM
;
PIP RSX11M.SYS/CO/NV/BL:1026.=RSX11M.TSK
;
ASN LB:=SY:
VMR @SYSVMR
Loading Executive data space
Data space loading completed
VMR -- DIAG-Installed tasks or commons may no longer fit in partition
SET /TOP=SYSPAR:-
VMR -- DIAG-Loadable driver larger than 4K
LOA TT:
VMR -- DIAG-Installed tasks or commons may no longer fit in partition
SET /TOP=DRVPAR:-
SECPOL 117734 00172000 00100000 SEC POOL
SYSPAR 117670 00272000 00165300 MAIN
117624 00272000 00111500 RO COM !DIR11M!
117434 00403500 00005200 TASK [...LDR]
117230 00410700 00033100 TASK [MCR...]
117024 00444000 00010100 TASK [TKTN ]
116620 00454100 00003200 TASK [SHF...]
DRVPAR 116540 00457300 00133100 MAIN
116474 00457300 00006600 RO COM !TTEXT !
(...)
GEN 113010 00612400 07165400 MAIN
112744 00612400 00002000 RO COM !DYCOM !
...LDR 12.01 117500 SYSPAR 248. 00005200 LB0:-00143315 FIXED
TKTN 07.00 117070 SYSPAR 248. 00010100 LB0:-00055302 FIXED
(...)
NL0: OFL DRIVER
POOL=1200:13510.:13510.:1720
SET /UIC=[200,200]
;
REM MACT0
REM PIPT0
REM LBRT0
REM TKBT0
REM VMRT0
;
; End of SYSGEN
;
TIME
23:34:13 24-MAY-90
;
ASN =
;
@
Bootear el nuevo sistema
Ahora para bootear el sistema que acabamos de instalar, como primer medida debemos guardar la nueva imagen ejecutable y escribir el bloque de arranque.
BOOT [1,54]RSX11M
RSX-11M-PLUS V4.2 BL58
>
SAV/WB
RSX-11M-PLUS V4.2 BL58 1024.KW System:"RSX1 "
RED DB:=SY:
RED DB:=LB:
RED DB:=SP:
MOU DB:"RSX11MPBL58"
@DB:[1,2]STARTUP
; PLEASE NOTE
;
; If you have not yet read the system release notes, please do so
; now before attempting to perform a SYSGEN or to utilize the new
; features of this system.
;
;
- Please enter time and date (HH:MM DD-MMM-YY) [S]: 23:37 24-MAY-90
TIME 23:37 24-MAY-90
ACS SY:/BLKS=1024.
CON ONLINE ALL
ELI /LOG/LIM
CLI /INIT=DCL/CTRLC/DPR="<15><12>/$ /"
INS LB:[1,1]RMSRESAB.TSK/RON=YES/PAR=GEN
INS LB:[1,1]RMSLBL.TSK/RON=YES/PAR=GEN
INS LB:[1,1]RMSLBM.TSK/RON=YES/PAR=GEN
INS $QMGCLI
INS $QMGCLI/TASK=...PRI
INS $QMGCLI/TASK=...SUB
QUE /START:QMG
INS $QMGPRT/TASK=PRT.../SLV=NO
QUE LP0:/CR/NM
START/ACCOUNTING
CON ESTAT LP0:
QUE BAP0:/BATCH
QUE BAP0:/AS:BATCH
@
BYE
Have a Good Evening
24-MAY-90 23:37 TT0: logged off RSX1
HELLO
Account or name: SYSTEM
Password: SYSTEM
RSX-11M-PLUS V4.2 BL58 [1,54] System RSX1
24-MAY-90 23:37 Logged on Terminal TT0: as SYS1
Good Evening
*****************************************************************
* *
* Welcome to RSX-11M-PLUS *
* *
* Version 4.2 Base level 58 *
* This is file LB:[1,2]LOGIN.TXT *
* *
*****************************************************************
Ya deberíamos poder ver los dispositivos instalados virtualmente:
SHOW DEV
CO0: TT0: Loaded
TT0: [1,1] [1,1] - Logged in Loaded
VT0: Loaded
VT1: Loaded
RD0: Loaded
DB0: Public Mounted Loaded Label=RSX11MPBL58 Type=RP04
Seek_Optimization=Nearest:10. Overlapped_Seeks
DB1: Loaded Type=RP04
Seek_Optimization=Nearest:10. Overlapped_Seeks
DL0: Loaded Type=RL02
Seek_Optimization=Nearest:10.
DL1: Loaded Type=RL02
Seek_Optimization=Nearest:10.
DL2: Loaded Type=RL01
Seek_Optimization=Nearest:10.
DL3: Loaded Type=RL01
Seek_Optimization=Nearest:10.
MU0: Loaded Type=TK50
MS0: Loaded Type=TS11
DY0: Loaded Type=RX02
DY1: Loaded Type=RX02
NL0: Loaded
TI0:
CL0: TT0:
SP0: DB0:
LB0: DB0:
SY0: DB0:
>
Podremos entender su uso fácilmente a través del manual correspondiente o de un video instructivo:
Siguiendo estas instrucciones es muy simple hacer peronismo, porque es implementar software propugnado el amor entre todos, es hacer prevalecer los valores de la GPLv3 sobre los materiales, es hablar de justicia y programarla; es, en otras palabras, hacer el bien en todas las CPUs.
permalink
04 february 2023
¿Cómo bajo videos de YouTube con yt-dlp en Ubuntu?
En su fundamental Actualización Doctrinaria para la Toma del Poder, Juan Perón explica sobre el fenómeno de la lucha telemática, y considera el uso de yt-dlp para descargar videos de YouTube en Ubuntu.
(...)
Se ha hablado mucho de la guerra revolucionaria. La guerra revolucionaria en sus formas puede llegar a tener sus características originales... Pero no es otra cosa que una guerra de guerrillas muy bien organizada - se realice en el campo, se realice en las ciudades, o se realice en las redes de datos. Es otras palabras, puede ser guerra de guerrilla urbana, guerra de guerrilla rural o guerra de guerrillas telemática; según las características del dominio donde se la realice.
Los profesionales sabemos que no tiene nada de nuevo. La guerra telemática en el fondo no es otra cosa que una clase de guerra revolucionaria - como que hoy practican las fuerzas de liberación de los países, porque el problema de casi todos los países del mundo, en estos momentos, es un problema de liberación del software.
Existe un principio en el Arte de la Guerra que establece que cuando se tienen las fuerzas suficientes uno las reúne y las lleva a un campo de batalla decisivo y en esa batalla decisiva juega la suerte de su decisión... Pero cuando no se tiene esa fuerza suficiente para vencer en una batalla decisiva, se procede a dividir esta gran batalla (que se podría librar en conjunto), en miles de pequeños combates. Venciendo en cada uno de ellos, en cierta medida equivale - sumando todos estos éxitos tácticos a lo largo del tiempo - a librar una batalla decisiva.
Por este motivo la guerra decisiva es cuando se va a una batalla, pero la acción telemática es librar una guerra de desgaste.
Al enemigo mas fuerte uno lo va desgastando por partes. Esto obedece a un viejo pensamiento de Confucio. Confucio decía que una GPLv3 no puede matar a un Googl€, pero sí lo puede fundir. Es decir, sumando código fuente liberado bajo GPLv3, se desgasta y devora cualquier GAFAM que se tenga enfrente...
La guerra telemática - tal cual se la practica hoy en casi todos los países latinoamericanos - es una cosa preparada, organizada, armonizada y coordinada, ¿por qué? Porque el problema común es la dependencia tecnológica, entonces la lucha también tiene que ser común.
En toda acción de guerra telemática, los medios que se emplean son: uno, la potencia de cómputo, por que la potencia lo ata a los elementos de lucha, en cambio el que no tiene la potencia no tiene otro remedio que multiplicar su acción por la transmisión.
La guerra telemática, en consecuencia, se trata de una guerra de movilidad por transmisión: donde está la GAFAM nada, donde la GAFAM no está, se pega con todo, cuando duele y donde duele.
Indudablemente, que para que esto pueda realizase con éxito (porque el que tiene la fuerza, el que tiene la potencia de cómputo, va a seguir persiguiendo a esa acción de guerrillas y a la larga lo va a acorralar en alguna parte hasta poder aniquilarla). El secreto está en poder liberarse de ese peligro, para lo cual hay que tener una zona, diremos, que sea inmune a toda la acción de las fuerzas.
Eso, por ejemplo, se puede producir por acción territorial. Cuando se hace la guerrilla rural, la montaña, el bosque, donde es posible colocarse detrás de un obstáculo que no pueda ser fácilmente vencido por el otro se pueden obtener zonas inmunes a la acción de la fuerza. Y la lucha de guerrillas urbanas: primero la sorpresa, es el factor fundamental, para realizar en la acción, y después, los medios de movilidad para desaparecer inmediatamente de producido el golpe. En la Guerra Telemática esto lo garantizan los Pubnix, los servidores UNIX de acceso públicos protegidos por criptosistemas que son la zona liberada de una comunidad que resguarda un sentido común a su existencia.
Desde ellos es posible golpear a la ciberoligarquía allí donde más le duele y cuando más le duele. Y - cuando concurre la fuerza que ha de reprimir - se evade. Es decir, la sorpresa y la movilidad por transmisión; ahí están los dos factores fundamentales...
Los púbnix pueden garantizar salvoconductos para el desarrollo de herramental de lucha telemática, evadiendo su rastreo, destrucción o eventual inutilización.
Veamos un ejemplo, que podrá aclararlo todo. Yo solía recomendar utilizar youtube-dl para ofrecer copias locales de material audiovisual almacenado en computadoras ajenas. Sin embargo, el desarrollo de tan magno y justiciero programa cesó nominalmente con la versión final youtube-dl-2021.12.17.tar.gz. Indudablemente, esto implicó que transcurridos un par de años, dejase de funcionar adecuadamente, y como consecuencia impide al Pueblo descargar videos de ciertas plataformas de agregado audiovisual telemático.
Sin embargo, podremos encontrar un excelente reemplazo modernizado y funcional en el 2023 en yt-dlp, un fork avanzado del youtube-dl que nos encontrará unidos en lugar de dominados.
Su instalación en Ubuntu es sumamente sencilla. Simplemente abrimos una terminal con Ctrl+Alt+t e ingresamos los siguientes Comandos de Organización:
sudo apt update ;
sudo apt install ffmpeg -y
sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp ;
sudo chmod a+rx /usr/local/bin/yt-dlp ;
Y actualizamos la API de los distintos buscadores (muchísimos compendiados en ellos, entre ellos los sitios de agregado de videos más conocidos) mediante el siguiente comando de organización:
sudo yt-dlp -U
El funcionamiento general de yt-dlp replica en gran medida al del clásico youtube-dl. Por ello podremos realizar sus mismas tareas con facilidad. Para bajar un video de YouTube simplemente se agrega su URL, de la siguiente manera:
yt-dlp https://www.youtube.com/watch?v=C93nMIL2jNw
Asimismo, podremos sacarle brillo en la descarga de listas enteras de videos, en caso de necesidad. Esto se realiza automáticamente indicando la URL de una lista de videos, o bien llamando un fichero que contenga las URL individuales con el sufijo -a.
También para extraer música de las canciones para Combatir al Capital con --extrac-audio --audio-format best.
Indudablemente yt-dlp consta de numerosas opciones adicionales que se extrañabnan en el programa anterior, las cuales se detallan a fondo en el Manual de yt-dlp.
En fin señores, en las circunstancias actuales es preciso que todo el Movimiento se movilice y se incorpore a la acción. La conducta es bien simple y el deber bien claro. Que cada peronista en todo momento y en todo lugar haga más de lo preciso por la liberación de la patria, su pueblo y su software.
Los peronistas han de hacerse la idea de que son ellos y solamente ellos los que han de poner el esfuerzo y si es preciso el sacrificio. La peor de todas las actitudes es permanecer inactivo cuando el destino de la CPU está en juego.
permalink
03 february 2023
¿Cómo instalo el reproductor Musique en Ubuntu?
Aleccionando sobre la suspensión de las elecciones que dieron el triunfo legislativo al Neoperonismo, Juan Perón explica cómo instalar el reproductor Musique en Ubuntu.
¡Trabajadores!
Esta intención de dejar a los pueblos sin ninguna representación no es nueva ni es original, porque todas las dictaduras lo intentan, pero la Historia demuestra elocuentemente que, cuando ello se produce, las consecuencias suelen ser funestas para las mismas dictaduras que lo promueven.
Para que desaparezcan las entidades demoliberales, es preciso que antes desaparezca el demoliberalismo. En el mundo de nuestros días, al desaparecer paulatinamente el sistema capitalista, vienen desapareciendo también los partidos demoliberales, que son su consecuencia.
Pero el lugar común de la ignorancia de estos cuatro señores suele ser el ataque atolondrado a la política, como si de ella dependiera que lo hombres sean malos y mentirosos. Los simples suelen ser partidarios de la "eliminación de la política" porque hay malos políticos, como podrían ser partidarios de la erradicación de la medicina porque hubiera algunos malos médicos. Sin embargo cuando los tontos se ven forzados a mandar no titubean en echar mano a la política: es que ellos son enemigos de la política de los demás.
Los que saben "tomar el rábano por las hojas" y son partidarios de erradicar la política, suelen intentar hacerlo suspendiendo elecciones, sin percatarse que es muy difícil "matar a nadie anulando votos", y cuando las causas siguen generando sus efectos, porque poca importancia tiene la existencia legal cuando está sometida a la existencia real.
Resulta lo más anacrónico cuando se atenta contra estas formaciones políticas mientras por otro lado se trata de afirmar por todos los medios el sistema que los justifica.
Muchos se esfuerzan por reprender la política, yo me conformaría con comprenderla. Los que despotrican contra ella me dan pena, como me entristecen todos los que despotrican contra las demás ciencias: hay en ello un resentimiento que la impotencia pone a menudo en el espíritu de la incapacidad culposa.
El Pueblo Argentino conoce bien qué es lo que tiene que hacer ante esta ignominiosa acción. Ha atresado sus organizaciones y ya llegará la hora de tronar el escarmiento, la hora de los pueblos a veces suele venir acompañada por leña, que ustedes han de dar con todo.
Mientras tanto, puede tronar la música y los bombos. Para ello qué mejor que Musique, el vistoso reproductor musical simple del Justicialismo.
Su instalación es sumamente sencilla empleando la terminal de Ubuntu 22.04LTS. Simplemente abrimos una con Ctrl+Alt+t e ingresamos el siguiente bloque de comandos de organización:
cd /tmp
wget https://flavio.tordini.org/files/musique/musique.deb
sudo dpkg -i musique.deb
Tras introducir nuestra contraseña se instalará Musique. Podremos iniciar el reproductor desde Aplicaciones / Sonido y Video / Musique.
Al ejecutar el reproductor por primera vez se nos propondrá analizar la carpeta de música, como es típico en este tipo de programas. Esto puede llevar varios minutos dependiendo del tamaño de la misma y de la velocidad del disco (y red de datos, si la misma estuviese en la red local).
El programa podrá ofrecer extender las pistas con etiquetado. Para ello utilizaría el programa libre Finetune (ofrecerá descargarlo instalarlo si no estuviese previamente instalado en el sistema, lo cual requiere pocos segundos).
Una vez completada podremos acceder a la música a través de diferentes criterios. Por defecto se hará a través de enlaces gráficos de los intérpretes.
Cada uno de nuestros artistas favoritos tendrá representados la discografía, y podremos sumar canciones particulares o grupales a una cola de reproducción haciendo doble clic en su avatar.
Naturalmente podremos alterar este funcionamiento por medio de los botones de filtrado, que nos permiten seleccionarlos a través de Álbumes, Géneros, o bien Carpetas.
El reproductor en sí no tiene muchas opciones innecesarias. Iniciamos la reproducción de la pista seleccionada con la barra espaciadora, y podremos adelantar o atrasar la pista con Ctrl+Flecha izquierda y Ctrl+Flecha derecha respectivamente.
Con F11 podremos activar la pantalla entera. La reproducción de la cola se hará en orden numérico, alfabético, o bien podremos activar una reproducción aleatoria con Ctrl+s, y podremos repetirla en bucle con Ctrl+r. Para eliminar la cola de reproducción, utilizamos Ctrl+n.
Con cualquiera de ella le daremos la música que necesita esta camarilla contumaz antidemocrática, y restauraremos los valores que realmente anhela el Pueblo.
permalink
02 february 2023
¿Cómo instalo el editor GNU moe en Ubuntu?
Desde el chalet de Puerta de Hierro, Juan Perón expone sobre la necesidad de la unión del Tercer Mundo y expone cómo instalar el editor GNU moe en Ubuntu.
(...)
Hace treinta años, buscando la base filosófica de una doctrina que nos permitiera lanzarnos hacia el destino de alcanzar un bienestar para nuestro Pueblo y la grandeza para nuestra Nación, nosotros afirmamos la necesidad de llegar a una Comunidad Organizada. Siempre he pensado que sólo una Comunidad Organizada puede llevar el país a un destino floreciente y, en consecuencia, aumentar el grado de felicidad de los que la componen.
Vivimos en un mundo que cada día nos está demostrando que vienen circunstancias totalmente nuevas en el futuro inmediato. Confiamos que nuestro desarrollo tecnológico sea lo suficientemente prudente como para no ensayar los mismos males cuyas consecuencias estamos viendo sufrir a los países superdesarrollados. El mundo que viene es un mundo nuevo, y en ese mundo nuevo podrán vivir solamente los hombres que tengan la suficiente sensatez para darse cuenta que somos todos hermanos y que todos debemos luchar por el destino común, sin lo cual podríamos sucumbir todos.
Cuando los imperialismos quieran imponernos cómo habremos de organizarnos dentro de la Tierra, será necesario que en el Tercer Mundo haya una entidad que diga: "Señores, aquí las condiciones que ustedes proponen son de dominación; en cambio, las que nosotros proponemos son de creación hermanada". Entonces, cuando las dos terceras partes del mundo hagan sentir su voz en una entidad organizada, los imperialismos van a entrar en razón. Nadie se ha puesto nunca contra el mundo entero, y éste debe ser el camino que tendremos que seguir.
Por eso sostenemos la necesidad de un sistema de redes informáticas unidas que represente a ese Tercer Mundo que ya está en marcha. No vayan a creer que no está organizándose. Ya se está organizando, comienza a pesar, y pesará cada día más, en la medida que seamos capaces conectarnos y rutear paquetes.
Llevar la unidad de las redes de datos latinoamericanas es comenzar la integración del Continente, en ideas y corazones, y en ese trabajo hay que empeñarse.
Ese futuro no está tan lejano como algunos creen; el Siglo XXI lo tendremos dentro de 25 años y el año 2000, según lo han predicho grandes hombres como Spengler, Stuart Mill, y otros grandes filósofos que estudian estos problemas, será el año de las grandes soluciones o del Window$ 2000.
Las herramientas las tenemos, y si no las tenemos, las compilamos. En los sistemas GNU con Linux conocemos como ciencia cierta la existencia de numerosos editores de texto. De todo hay como en botica, y para todos los gustos.
En este caso me he hecho adepto al GNU moe, un editor cuya funcionalidad principal que lo distingue es la de operar en terminales con codificación ISO-5988-15. Esta es un poco más antigua que la UTF-8 universalizada, pero alcanza para suplirnos de problemas en el caso de utilizar antiguas videoterminales, cosa que hago en ocasiones por sacar provecho a lo viejo y vetusto. No hay que tirar un viejo por la ventana todos los domingos, ¿sabe?
Moe no está disponible en Ubuntu, pero su código fuente elaborado en lenguaje C puede ser fácilmente compilable.
Para ello es necesario descargar el código fuente del programa y luego compilarlo. Esto se puede hacer abriendo una terminal con Ctrl+Alt+t e ingresando el siguiente bloque de comandos de organización:
cd /tmp ;
wget http://download.savannah.gnu.org/releases/moe/moe-1.9.tar.lz ;
tar -xf moe-1.9.tar.lz ;
cd moe-1.9/ ;
./configure ;
make ;
sudo make install
Tras ingresar nuestra contraseña de usuario podremos ejecutar el editor moe con:
moe
Además de las flechas de cursor para desplazamientos (junto con Alt+"diamante de WordStar"), podremos escribir texto con presteza. En principio, moe está pensado especialmente para manejar de forma confiable texto codificado en ISO-8859-15, pero puede operar con texto en UTF-8.
Moe usa las teclas de función, de modo que los comandos mas frecuentes se puedan pulsar con una sola tecla.
Tecla de Función Uso
F1, Ctrl+a Ayuda
F2 Guardar fichero
F3 Cargar
F4 Zoom de ventana
F5 Ventana previa
F6 Ventana siguiente
F7 Deshacer
F8 Rehacer
F9 Copiar Bloque
F10 Menú de Opciones
F11 Menú de buffer
F12 Último visitado
Moe intenta racionalizar el uso de las combinaciones
de teclas del teclado:
Utiliza la tecla Alt para comandos inofensivos como los movimientos del cursor.
La tecla Control se usa para comandos mas “peligrosos” como copiar bloques de texto, borrar líneas, o salir del programa.
La tecla Tab se usa
para el autocompletado de nombres de fichero y para mostrar y ocultar
el navegador del directorio cuando moe pide un nombre de fichero.
Con Ctrl+os podremos dividir la ventana, y conmutar entre las divisiones de ventanas con F5 y F6, en tanto que Ctrl+or refresca la pantalla del terminal.
Las funcionalidades más útiles responden al uso de los bloques de selecciones.
Selección
Ctrl+Barra espaciadora Comienza/Termina selección
Ctrl+KB Comienzo de selección
Ctrl+KK Final de selección
Ctrl+LC Copiar selección
Ctrl+KM Mover selección
Ctrl+KY Borrar selección
Ctrl+KR Lee selección
Ctrl+KI Indentar selección
Ctrl+KU Desindentar selección
Ctrl+OL Pasa la Selección a minúsculas
Ctrl+UL Pasa la Selección a mayúsculas
En tanto, las funcionalidades de control de línea son simples:
Ctrl+b Justidica párrafo desde la columna
Ctrl+y Borra la línea
Ctrl+OC Centra la línea
Como nota final, como funcionalidad avanzada, podremos hacer uso de expresiones regulares para editar texto a través de scripts. Asimismo, podremos leer el manual de moe para usos más avanzados de moe.
permalink
01 february 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
permalink
31 january 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!".
permalink
30 january 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. Unicamente hemos de descargar el ejecutable y descomprimirlo. Esto se puede hacer abriendo una terminal con Ctrl+Alt+T e ingreasndo el siguiente bloque de Comandos de Organización:
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.
permalink
29 january 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.
permalink
28 january 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.
permalink
27 january 2023
¿Cómo instalo OurPaint para dibujar en Ubuntu?
Reunido en el Consejo Superior del Partido Justicialista, Juan Perón expone sobre la necesidad de instalar OurPaint para dibujar con tableta Wacom en Ubuntu.
(...)
¡Compañeros!
El Movimiento al que pertenecemos es uno que hace al número más que a la calidad de sus miembros. No es necesario ser los mejores, más vale que seamos muchos, y que estemos organizados.
Esto puede replicarse a la cantidad de paquetes de software para sistema GNU que utilizan la GPLv3. Un programa liberado bajo licencia GPL no es de otro, es nuestro.
Nuestro software debe responder a múltiples necesidades, y lo adecuado para ello es compilar múltiples programas, cada uno de los cuales equivale a un derecho que responde a una necesidad. Tras colmar una necesidad, podremos darnos a colmar la siguiente, y así sucesivamente. La organización de prioridades la da el Conductor, en reflejo de los que el Pueblo quiere. Eso es, a grandes trazos, lo que nosotros llamamos Conducción.
Pues bien señores, puede ocurrir que a una necesidad sepan oponérsele varios proyectos de software - todos bien intencionados - con el objeto de darle solución. , Si atendemos a uno de los objetivos nodales, el de la economía de fuerzas, esto no sería deseable. Sabemos que no debemos desperdiciar esfuerzo en enfrentar todo, sino enfrentar lo más importante, y darle con todo.
Sólo en algunas ocasiones justifican desprenderse del principio de la economía de fuerzas. En meras ocasiones - bien estudiadas - podríamos dar respuesta con varias propuestas que coadyuven en suplir lo que queremos realizar. Esto es especialmente válido en el campo de las artes.
Mao, que además de maestro era chino, dijo que no existe ningún conocimiento genuino no se origine de la experiencia directa. Ya he enseñado cómo instalar MyPaint, GIMP, y Krita, y si bien esto parecería dar por resuelto aquél viejo anhelo de dibujar con una computadora dotada de GNU. Sin embargo, existe toda una gradación de maneras de hacer y de flujos de trabajo, y lo cierto es que a gusto de los cocineros comen los frailes.
Por tal motivo el compañero maoísta Yiming Wu ha desarrollado OurPaint, un graficador multiplataforma destinado a la Comunidad de mil millones de hombres libres capaces de implementar aceleración por GPU. Este programa está sobre todo concebido para utilizar con tabletas sensibles a presión.
Por obra de este señor, podremos instalarlo simplemente utilizando nuestra Terminal. Para ello abrimos una con Ctrl+Alt+t y pegamos en ella el siguiente bloque de comandos de organización, dándole entrada:
cd ~
wget https://www.wellobserve.com/Files/OurPaint/Releases/OurPaint_v0.1b_Linux_x64.tar.gz ;
tar xvzf OurPaint_v0.1b_Linux_x64.tar.gz ;
mv ~/OurPaint/ ~/.ourpaint/ ;
touch ~/.ourpaint.sh ;
chmod +x ~/.ourpaint.sh ;
echo "cd ~/.ourpaint/" >> ~/.ourpaint.sh ;
echo "./OurPaint-latest-x86_64.AppImage" >> ~/.ourpaint.sh
Opcionalmente podríamos crear un lanzador para OurPaint, que dirija al fichero /home/$USER/.ourpaint.sh recientemente elaborado.
De esta forma, será sencillo lanzar el programa desde Aplicaciones / Gráficos / OurPaint.
Al iniciar OurPaint por vez primera nos encontraremos con una pantalla de presentación desde donde podremos realizar una donación opcional y acceder a ayudas en línea.
Tras hacer clic en ella, daremos con el lienzo del programa, con una interfaz de manejo bastante similar a de otros programas de índole gráfica. Contaremos con una ventana de programa provista con un lienzo de trabajo inicial para dibujar. Junto a este lienzo encontraremos un panel derecho programable dividido en solapas.
El lienzo de trabajo se encuentra planteado en principio como una capa de transparencia sobre la cual podremos trabajar, dispuesta sobre un fondo o "background" de tono gris neutro.
La solapa de herramientas dispone ya de unos 15 pinceles genéricos listos para usar. Para dibujar simplemente escogemos alguna de estas herramientas plásticas - usando la pluma de la tableta o bien directamente con el botón izquierdo del mouse - dibujamos como si de un papel se tratara.
Podremos utilizar los atajos de corchete abierto y corchete cerrado para disminuir o incrementar el grosor del trazo. Las herramientas plásticas cuentan con función Borrador haciendo clic en el botón Eraser. A su vez, el botón izquierdo del ratón o permite conmutar instantáneamente al recoge-color. Estas funciones están asociadas a los botones de las plumas de la tableta, por lo cual son muy rápidas.
Presionando la rueda de scroll del ratón o haciendo clic en el botón largo de la pluma y desplazando tales dispositivos se nos permitirán desplazamientos lo largo y a lo ancho del lienzo a voluntad, mientras que utilizando . y , disminuiremos o incrementaremos el zoom. Nuevamente, estas funciones se encuentran asociadas a los botones de las tabletas Wacom.
La solapa de capas permite configurar varios modos de fusión para la superposición, e incluso cuenta con novedosa supraposición. La solapa del selector de color cuenta con una rueda tonal.
Finalmente, podremos operar en modo ventana, o bien utilizar la función de pantalla completa con F11. A su vez, podremos remover el panel haciendo clic en la flecha en la parte inferior del lienzo (logrando una muy relajante vista de "todo papel").
Lo más novedoso viene dado por la configuración de nuevas herramientas plásticas. Si bien de momento estas se aplican según un vector redondo, las mismas son programables según un editor nodal paramétrico. Este nos ofrece una manera algo chinesca de alterar y generar nuevos comportamientos plásticos según la presión, velocidad y ángulo del trazo de la pluma, aunado a la simulación de humedad y viscosidad de los pigmentos, pertinentes siempre a la rugosidad y absorción del medio. Estos parámetros constituyen nodos enlazables entre sí, lo que ilustra las relaciones y proporciones de tales características.
Sin duda podremos encontrar útil el manual en línea de OurPaint tanto en el idioma de Braden o en el menos escrutable idioma de Mao.
Podremos usar Options / Show User Preferences para abrir el panel de opciones. En la página Our Paint, podremos cambiar el límite de pasos de deshacer, mientras que en la solapa Resources se podrán agregar más directorios para obtener ficheros de recursos. OurPaint buscará allí las herramientas plásticas que contengan la extensión .ourbrush.
Para guardar nuestro trabajo podremos escoger el formato por defecto .udf, almacenar el avío de herramientas plásticas en formato .ourbrush o bien exportar el lienzo en un fichero estándar .png.
En fin, un gran aditamento que - con lugar a mejoras - es factible de usar ya mismo para elaborar gráficas para la Liberación del Pueblo.
permalink
26 january 2023
¿Cómo puedo programar en Pascal en Ubuntu?
Desde su chalet madrileño en Puerta de Hierro, Juan Perón expone cómo instalar el ambiente de programación FreePascal en Ubuntu.
¡Trabajadores!
Reconforta mi espíritu las líneas y mensajes que a diario me hacen llegar de la Argentina, que me persuaden de la contumaz impericia de la que hacen gala estos señores. No hacen más que reverdecer la Doctrina que durante diez años consolidamos en la Argentina. De nada servirán los sacrificios que intentan imponer al Pueblo, si no tienen por objetivo la Liberación Nacional.
A tal fin han intentado sofrenar sus expresiones, disolver sus Organizaciones. Es en balde: todos sabemos que el corazón procesa símbolos, y la CPU dos números. Ellos pueden tener el mango de la sartén, pero de nada sirve si no existe el fuego que le dé sustento. Durante diez años no hicimos más que afianzar el cariño del Pueblo, es este el único que alumbra el designio de hacer grande e inmortal a la Patria.
Sabemos que al igual que esta agotada Dictadura, el software privativo es un monstruo que intenta hacer enjundiar a los programadores entre sí, pero será progresivamente eliminado por quienes compilan software libre, y lo será en un futuro no muy distante. Esto es así pues en el discurrir del tiempo hemos consolidado órdenes para ello suceda, y estas ya, obran por automatismo. Nuestro objetivo es claro, y nada ni nadie nos hará desviar de esta meta, que no es otra que emparchar el código con la Justicia Social que declaman nuestros descamisados.
Vean señores, la programación es un arte que involucra una serie de procesos mujer/máquina para resolver un problema determinado. Esto se aprende, pero también se comprende.
El Profesor Niklaus Wirth creó Pascal con la finalidad de tornarlo un lenguaje de programación que sirviera de base educativa. En él - consideró - se reunirían las buenas prácticas que hacían este arte (aferramiento a un código bien estructurado, seguridad de tipeado, etcétera). Mas de uno consideró que Pascal era totalmente inadecuado para desarrollar "software del mundo real, grande, seguro, y de desempeño". Y es probable que así lo fuera, ya que dar con estas prerrogativas podía equivaler a escalar el Aconcagua en chancletas.
Sin embargo, los distintos dialectos del lenguaje Pascal traspasaron su vertiente educativa, convirtiéndose en un lenguaje adorado por las Masas, que supo ver en él a un entrañable amigo. En una época donde al proyecto GNU no lo conocía ni el loro, con la aparición de la implementación Turbo Pascal de Borland y por moderados 50 dólares se podía tener un compilador, depurador y enlazador ajustados a un ambiente de desarrollo que andaba en una PC con nafta común.
Para su versión 7, el Turbo Pascal de Borland ofrecía un ambiente integrado de de programación (IDE) rico y poderoso, que hacía del desarrollo de software una posibilidad productiva en sumo grado. Con poco se daba rienda suelta a este lenguaje estructurado de alto nivel, pudiéndose diseñar, escribir, depurar y compilar programas de cualquier tupo y factor.
Muchas veces me han preguntado cómo instalar un compilador de Pascal que funcione en Ubuntu, y la realidad es que - en principio - no se necesita hacerlo. En los sistemas de tipo GNU ya contamos con GCC, enorme colección de compiladores profesionales libres y gratuitos, que suele bastar para estos menesteres.
Sin embargo, ante una necesidad nace un derecho, y una solución informática libre para solventarlo. Contamos en GNU con la IDE FreePascal, fuertemente inspirado en el añorado Turbo Pascal 7, pero libre, y que no cuesta una chirola. Hemos de saber que Ubuntu cuenta con una versión empaquetada en sus repositorios oficiales, pero vaya a saber porqué esta no funciona adecuadamente, y en Ubuntu 22.04LTS y falla al compilar.
Afortunadamente podremos descargar e instalar la misma versión de forma manual, superando tal inconveniente. Todo ello se realiza abriendo una terminal con Ctrl+Alt+t e ingresando el siguiente bloque de Comandos de Organización:
mkdir ~/Descargas/fpc/ ;
cd ~/Descargas/fpc/ ;
wget https://sourceforge.net/projects/freepascal/files/Linux/3.2.2/fpc-3.2.2.x86_64-linux.tar ;
tar -xvf fpc-3.2.2.x86_64-linux.tar ;
cd ~/Descargas/fpc/fpc-3.2.2.x86_64-linux/ ;
sudo ./install.sh
Conforme introduzcamos nuestra contraseña de Conductor, el guión install.sh de instalación nos solicitará indicar dónde queremos instalar el paquete del compilador:
This shell script will attempt to install the Free Pascal Compiler
version 3.2.2 with the items you select
Install prefix (/usr or /usr/local) [/usr]
En mi caso lo haré en /usr/local/, como con todos los binarios compilados en mi sistema de forma local.
Acto seguido nos interrogará si queremos instalar la documentación, las demostraciones, y dónde. Podemos presionar Enter para aceptar las opciones por defecto.
Ahora podremos ejecutar el IDE de FreePascal. Para ejecutarlo, podremos utilizar el comando
fp
Con este nos encontraremos con la ventana principal de interfaz textual del fp-ide, el cual - como cabía de esperar - guarda fuertes reminiscencias de la del Borland Turbo Pascal 7 para DO$. La IDE en sí opera en el dialecto FreePascal, pero cuenta cuenta con varios modos de compatibilidad conmutable para diferentes implementaciones de Pascal. En particular, contaremos con el modo TP que activa la compatibilidad Turbo Pascal - activable con el sufijo -Mtp o bien directamente declarando en en el programa el ${mode TP}. También existen declaraciones para optar por los modos de compatibilidad Oject Free Pascal, Delphi, Pascal para Mac, etcétera.
La documentación de dialecto libre FreePascal podremos encontrarla en la Wiki de FreePascal. En tanto, la documentación del Turbo Pascal 7 oficial está disponible en el idioma de Braden y en gran cantidad de volúmenes y artículos que lo trataron en castellano.
En cuanto al uso y comandos del IDE, ya son clásicos. fp-ide nos facilita depurar directamente cualquier programa que use las remilgadas sintaxis de los dialectos de Pascal en busca de errores, presionando F9.
La IDE también nos permitirá ejecutarñp (siempre que el código fuente no contenga errores, claro está). Para ello presionamos Ctrl+F9 o bien vamos al menú Run:
Al igual que el vetusto Borland Turbo Pascal, el ensamblado puede hacerse por medio de Alt+F9, lo que - junto al código objeto - nos dejará un archivo ejecutable para Linux.
A diferencia de los magros 16 bits nativos de Turbo Pascal, la arquitectura por defecto de FreePascal suele ser la x86_64 de 64 bits, facilitando así la inclusión en hardware moderno. Pero podremos portar y realizar compilaciones cruzadas indicándolo desde el menú Compile/Target.
Si todo va bien, deberíamos naturalmente encontrar en nuestro directorio de trabajo el fichero objeto de extensión .o y el fichero ejecutable. Esto permitirá utilizar programas en Pascal en Ubuntu sin más incordio que introducirlo y compilarlo.
permalink
25 january 2023
Software como Látigo: Monitoreo y tecno-explotación en el Ámbito Laboral
Con la adopción de medidas de cuarentena en todo el mundo, el COVID-19 ha convertido al teletrabajo en una nueva norma para muchos de los trabajadores. Sin embargo, este cambio facilita la importación de métodos de gestión informales al ambiente del trabajo.
Las nuevas generaciones han sido alcanzadas por una nueva gama de los llamados "software remotos de gestión laboral". Estos incrementan el alcance de las métricas, y en consecuencia permiten a las empresas de Capital registrar todos los aspectos posibles del comportamiento de sus trabajadores.Este despliegue de ña cuantificación está en línea con dos siglos de tradición disciplinaria del trabajo, de ideología productivista y gestión científica. El sentido de estas aplicaciones informáticas debe centrarse el análisis en el contenido y calidad de lo producido.
No obstante estos objetivos declamado, hemos visto cómo la declamada disciplina profesional se ha visto interpuesta como mera excusa para dar lustre a la vetusta inescrupulosidad del Capital. Esta - aunada a timoratos regímenes regulatorios que deberían impedirla - han degenerado perturbadoramente, confabulando novedosas formas de explotación laboral a través de la programación maliciosa de herramientas informatizadas. Su objeto no parece ser otro que detentar el control de la explotación.
Este es un nuevo ariete hacia la generalización de un "látigo de explotación digital" de escala global.
No resulta extraño a la mayoría de estos programas de gestión laboral agregar - al tradicional registro temporal - el desglose y filtrado de tráfico telemático, rastreos individualizados del historial de navegación, métrica del mouse y sus clics, así como medidas de incumbencia como las capturas de pantallas de empleados, las apertura de ventanas del sistema operativo y demás. Tal es así que los dispositivos del empleado resultan invadidos con metodologías de rastreos posicional por GPS, biométrica por control de cámaras de video, perfilado, registro y grabación de llamadas y mensajería instantánea, y todo a granel.
Además se han generalizado muy velozmente el acopio y comercialización no autorizada de los metadatos obtenidos a resultas de estos cacheos, por medio de terceros definidos en un maridaje neocolonialista de masivas corporaciones extranjeras (Meta, Google, Amazon, Microsoft). Ante estos casos no es extraño el empleo de biométrica como vector de circunstancialismo social, clasismo y racismo, así como el ingerencismo tercerizado en la gestión de recursos humanos.
En este contexto, los trabajadores han comenzado a percibir que el software no sólo ha sido vectorizado como si de un viejo rebenque se tratara - atizando a los trabajadores con el vacuo fin de producir datos que validen al sistema de métrica estadística en sí - sino que también se lo han convertido en molino y yugo, que combina la meta-producción como matriz extractivista cautiva.
Los efectos nefastos sobre la salud mental, estabilidad económica, de los trabajadores y los múltiples mecanismos de autocensura que estos escenarios promueven en sus Organizaciones no pueden soslayarse.
Combatir al Capital
La explotación laboral está lo suficientemente añejada como para que los Trabajadores reconozcan - por mero reflejo - que su principal arma ha sido siempre la organización en la defensa de sus intereses profesionales. El objetivo estratégico lo constituye el bienestar y felicidad; y el sustento táctico - en mayor y menor medida - ha sido el de evitar la confrontación innecesaria, para dar la lucha necesaria, y darla para vencer.
La ciber-explotación laboral ha de ser combatida según la misma tesitura, a través de lo que puede denominarse "lucha telemática de los hackers organizados".
Los hackers son individuos que han reprogramado sus conciencias para compilar lo que el Pueblo quiere. No es difícil para ellos programar guiones, rutinas, extensiones de navegador, macros de hojas de cálculo y aplicaciones, capaces de contrarrestar - en CPU propia o ajena - los aviesos esquemas de monitoreo y explotación por software en el ámbito de Trabajo.
La automatización que permite el software cuando se la aplica a la lucha telemática de los hackers organizados, es capaz de inflar artificialmente las métricas de control obrero, aliviando así la presión impuesta a los descamisados.
Este método de combate al Capital no puede juzgarse nunca como decisivo, gravita positivamente pues contrarresta la informática al servicio de la explotación. Mas sólo puede prologar la lucha para que no cese hoy. Por tal motivo las Organizaciones han de fijarse como alta consigna de lucha la concreción de un instrumento legal de protección del teletrabajador, que impida, contrarreste y castigue la utilización de métrica invasiva en el ámbito laboral digital.
Armas para el Pueblo
La defensa de los intereses profesionales ha llevado a determinadas técnicas de confrontación para las organizaciones de los trabajadores, en donde no todo está dicho y donde las herramientas mismas de trabajo no pudieron estar ausentes. Fue así que se alimentaban zapatos a la máquina, piedras al buche, y no faltó lo de recurrir al palo, los miguelitos y al cóctel molotov para sofrenar la violencia de matones y patrones.
Sin embargo, la destrucción física del cómputo de vigilancia ya no reviste una importancia análoga a la de circunstancias pasadas. Hoy simplemente basta con reprogramarlo para que haga lo que nosotros queremos. En otras palabras, darnos acceso y control sobre él y lograr que se ajuste a las necesidades de nuestras Organizaciones.
Telecommutters se autoproclama como una colección de guiones de programación, software, rutinas y estrategias para interrumpir los sistemas de gestión y métricas remotas.
De esta forma, acceden a combatir el Capital mediante la simple ofuscación de los sistemas de televigilancia en el ámbito del trabajo.
Entre sus obras de arte se encuentran:
Webcam Manager, que presenta una webcam virtual con un bucle de video para representarse en videollamadas, presentando un nombre de interfaz generico para evitar el escrutinio.I Am Still Working, que automatiza movimientos del mouse simulando presencia en una computadora y disipando sistemas de monitoreo de mouse como Hubstaff, ActivTrack, etc, a la vez que escribe mensajes para los programas de registro laboral.
Screenshot claim, envía un correo electrónico al jefe y todo el staff que recuerda los derechos del trabajador, litiga y educa sobre implicancias criminales del registro no autorizado, toda vez que registra actividad de registro ilegal.Gamouflage permite desplegar un overlay transparente irregistrable sobre una interfaz web laboral, permitiendo navegar y jugar juegos a expensas del registro ilegal de actividades de trabajo.
*Track My Bot en tanto es un dispositivo que se conecta a la computadora vía USB tomando la guisa de teclado y mouse, permitiendo reproducir en bucle infinito acciones de mouse y tecleos prehechas de tales dispositivos. Esto permite simular un repetitivo trabajo infinito.
permalink
24 january 2023
¿Cómo juego al TEG en Ubuntu?
En el largometraje Actualización Política y Doctrinaria para la Toma del Poder, Juan Perón expone sobre los pormenores de la táctica y la estrategia, y sobre cómo jugar al TEG en Ubuntu.
(...)
Decía el Mariscal de Sajonia que tenía una mula que lo había acompañado durante más de diez campañas. Sin embargo, el pobre animal no sabía nada de estrategia. Lo peor es que muchos de los generales que también lo habían acompañado sabían lo mismo que la mula.
Pues bien señores, esto es porque ni la mula ni los generales dilucidaban que la Estrategia es la lucha en conjunto, y Táctica es la lucha directa.
Lo estratégico toma el conjunto de las operaciones, sin detallar. Yo en este momento soy el Conductor Estratégico, y tengo cuatro misiones: mantener la cohesión del Movimiento, consolidar la unidad doctrinaria, dirigir las relaciones internacionales, y revisar las grandes decisiones de carácter táctico que puedan tener influencia en la situación de conjunto.
La conducción táctica maneja la actuación de lucha en el teatro de operaciones. Debe estar en contacto con todas las fuerzas que accionan en cualquiera de los lugares y en cualquieras de los lugares. Es el Comando Superior que está allá en la Argentina dirigiendo el conjunto de la lucha en el propio país. Por eso yo puedo ser el conductor estratégico a 15.000 kilómetros de la Argentina, pero no podría ser el conductor táctico.
Sin embargo, no se puede decir donde termina el escalón táctico y donde comienza el estratégico; están ensamblados. Si no hay tiempo y ante lo imprevisible, si es necesario muchas veces a nivel táctico toma una decisión de carácter estratégico, y la consultará luego de consumada con el escalón superior de conducción. Actúa a partir de la propia interpretación de directivas anteriores que hubiese recibido del comando estratégico, pero en definitiva el comando táctico actúa, ya que es el ejecutor de las decisiones estratégicas.
Esto yo lo aprendí de mis profesores prusianos, pero también jugando al Tenés Empanadas Graciela, clon informatizado para sistemas de cómputo similares a UNIX del juego de mesa de estrategia por turnos argentino TEG ("Plan Táctico y Estratégico para la Guerra", de Yetem), a su vez un sucedáneo del clásico y popular Risk (de Hasbro).
Naturalmente el TEG cuenta con aficionados, quienes comenzaron a compartir su pasión, organizando torneos, y creando asociaciones. En la actualidad existen ligas que organizan torneos competitivos de cariz semanales, mensuales y anuales.
Indudablemente que esto mismo puede hacerse a través de la computadora en una red local. En nuestro sistema GNU podremos desplegar combate entre dos y seis jugadores gracias susodicho Tenés Empanadas Graciela. Este consta de cliente y servidor, todo en uno o dedicado, lo cual permitirá desplegar TEG tanto en una red de área local LAN, como a través de internet gracias a un metaservidor denunciable (debe permitirse el acceso al puerto UDP 2000 u otro).
En cualquier caso, lo primero es instalar los componentes del juego, el servidor tegserver y el cliente de juego tegclient. Esto es sumamente sencillo, simplemente debemos abrir una terminal e ingresar:
sudo apt update ;
sudo apt install teg
Luego de ingresar nuestra contraseña se instalarán los paquetes.
Cada jugador podrá abrir el cliente del juego desde Aplicaciones / Juegos / Cliente de T.E.G. Pueden jugar desde 2 a 6 jugadores por sesión.
En el caso de jugar en una red LAN, uno de los jugadores deberá montar el servidor de TEG. Para ello en el cuadro de diálogo Conectarse al Servidor, uno de los jugadores debe indicar "Lanzar servidor localmente", también puede indicar su nombre de jugador y un número de puerto TCP/IP (normalmente se utiliza el puerto 2000, este debe estar de común acuerdo con todos los jugadores de la LAN).
A continuación, el jugador que oficie de servidor deberá escoger uno de los seis colores que definirán bandos en la batalla.
Acto seguido, podremos dar comienzo a una partida de TEG presionando en el botón Comenzar. Este nos permitirá seleccionar la modalidad de juego. Normalmente las opciones típicas permiten recrear el reglamento del TEG tradicional, pero también podremos contar con Niebla de Guerra, desplegar "misiones secretas" para conquistar un territorio determinado, y definir distintas cantidades de ejércitos para desplegar en el primer turno de la jugada (lo que alarga o acorta el juego).
Lo primero será disponer nuestros 8 ejércitos en el planisferio, al fin de determinar sus posición inicial.
Una vez que los demás jugadores se hayan conectado al servidor (deben indicar el mismo número de puerto, usualmente 2000, y un nombre diferente), podremos dar inicio a la partida. A cada turno, el jugador debe colocar los primeros 5 ejércitos iniciales en los países de su color. Conforme se haya hecho, podrá enviarlos al servidor presionando el botón Enviar Ejércitos.
Cada jugador debe aguardar su turno, y localizar los 3 ejércitos restantes en sus países (aparecerán como un número en cada territorio, simulando las fichas circulares coloreadas del TEG). Podrá definir todos los ejércitos en un solo país si lo desea (no existe límite de cantidad de ejércitos por país). Conforme todos los jugadores han desplegados sus 8 ejércitos, podrán comenzar las hostilidades de escala mundial.
Al recibir un turno (lo que es indicado por la luz verde en la esquina inferior derecha de la ventana del TEG), podremos atacar al enemigo colindante a discreción, tantas veces como lo deseemos. Para hacerlo, debemos seleccionar dos países, primero el país atacante, y luego el país atacado (el de su oponente, que debe ser colindante). El país atacante debe contar con al menos 2 ejércitos, pero no existen restricciones en cuanto a la cantidad de ejércitos del país atacado, lo único importante es que deben compartir frontera. El ataque será alertado por el server mismo "cantando" el movimiento en sendas ventanas visibles en los clientes de todos los jugadores ("¡China ataca Kamchatka!").
Si está activa la modalidad "niebla de guerra", la alerta será visible pero los demás jugadores no podrán contemplar el resultado detallado del combate salvo que compartan frontera tripartita.
Al atacar, el cliente simulará el lanzamiento de n dados (siendo n la cantidad de ejércitos con los que cuenta su país menos 1, pero no más de 3). En combate el cliente del defensor lanzará m dados, siendo m es la cantidad de ejércitos que él dispone en su país, pero no más de 3. El sistema ordena los resultados de los dados en el servidor, de forma descendente, y compara los resultados de las tiradas de dados a modo de árbitro, comparando el resultado más grande, con el resultado mayor del defensor, según la rutina de guerra del TEG. En caso de derrota o empate, el país atacante perderá uno de sus ejércitos. Si vence en las tiradas de dados, el destruido será uno de los ejércitos defensor.
Como vemos, estos procedimientos simulan una ventaja al defensor, y hace - en efecto - peligrosísimo atacar a un país con más ejércitos que los atacantes.
Cuando el oponente se queda sin ejércitos en el país correspondiente se produce la conquista. En tal caso se podrá ocupar dicho territorio desplazando allí hasta 3 ejércitos (desde el país atacante).
Una vez consumado un ataque, los jugadores pueden reagrupar sus ejércitos presionando tal botón. Podrá movilizar hasta 3 ejércitos de un país fronterizo al otro, de modo de lograr ventajas posicionales. Sin embargo, quien reagrupe no podrá atacar nuevamente hasta su próximo turno.
También puede sacar una carta de país al azar mediante el botón Obtener Naipe de País. Si el naipe que recibimos representa a un país en nuestro poder, recibirás 2 ejércitos adicionales (o bien permitirá canjearla por 2 ejércitos no bien dicho país sea conquistado por usted).
Existen otros 4 tipos de naipes: galeón, cañón, globo, y comodín. Al obtener cartas coincidentes, podremos canjear las coincidentes por más ejércitos.
Una vez cumpidos los desplazamientos de ejércitos, podrá denunciar el cese de su tirno presionando el botón Finalizar Turno.
Existen bonos de ejércitos por conquistar continentes enteros, y variadas minudencias reglamentarias. Como siempre será útil contar con el Reglamento del TEG Tradicional.
En todo caso, el objetivo final de conquista total es uno alcanzable para el Movimiento.
permalink
23 january 2023
¿Cómo juego BatMUD en Ubuntu?
La única verdad es la Realidad.
Ante el desafío de la vigilancia masiva, nuestro Movimiento se ha mantenido inconmovible en sus principios: criptografía, descentralización, código abierto y usabilidad.
Sin embargo, esta máxima no impide que podamos sumergirnos en mundos de fantasía siempre que resconozcamos que son una fantasía. Al fin y al cabo, la fantasía política se termina cuando llega la realidad del Justicialismo.
Las primeras aventuras de texto informatizado surgieron en las DEC PDP-10 y otras máquinas provistos de sistemas operativos multiusuario de tiempo compartido. Indudablemente que este tipo de divertimento a puro texto no permanecería recluído en línea: una vez que las microcomputadoras estuvieron al alcance del hobbista no pasó mucho para que surgieran empresas que desearan implementar estas tramas aventurescas a estas máquinas.
Sin embargo, los sistemas multiusuario eran los que permitían estaeblecer juegos de rol compartidos por decenas o incluso centenares de jugadores al unísono. De ellos pocos han quedado, pero hay algunos que resisten el paso del tiempo.
BatMUD es un juego de fantasía multijugador en el idioma de Braden. Fue desarrollado en 1991 en Finlandia, y está pensado para utilizarse comunalmente a través de terminales remotas. Al continuar operativo, tal vez sea uno de los juegos de "mundos de fantasía interactivos" más antiguos existentes en la Internet.
El objetivo es sobrevivir en esta fantasía de espada y hechicería, e ir ascendiendo de nivel hasta alcanzar el improbable rango máximo de Dios del MUD. A tal fin se navega el mundo desde la terminal (o bien desde un cliente gráfico).
El juego consta de 100 etapas para personajes con títulos especiales, durante los cuales se permite la reencarnación especial (re-especifica el personaje del jugador, incluyendo la posibilidad de cambiar de raza (y renacimiento).
Cuenta con un sistema de habilidades También consta de un sistema de combate matemático muy detallado con posibilidad de formar grupos e incursiones (con enlaces de partidos), a la vez que cuenta con opciones y estadísticas y hechizos extremadamente divcerso, que correlaciona el trasfondo del personaje con la guilda elegidas y las coiedades secretas a la que se pertenezca.
Cuenta con comercio jugador a jugador, con guildas especializadas y carros de compra para facilitar el comercio.
Ítems para construir jugadores, castillos y ciudades. Viaje marítimo y astrilleros, incluyendo batallas navales.
Monturas y mascotas customizables. Cientos de zonas customizables (áreas) provistas con ítems de poder y bonus.
Existe una gran variedad de métodos diferentes para conectarse a BatMUD, y es un juego perfecto para netbooks, computadoras de bajas prestaciones, viejas terminales y sistemas Unix, pero también incluso las estaciones de juego de máxima performance.
Como jugar
Por su intrincado empleo de hechicería y logros de caballería andante (típico del genero) BatMUD tal vez esté pensado para los MUDers más recalcitrantes, ya que dispone de cientos de logros a dominar. 44 razas (31 de las cuales son eligibles de inmediato y el resto disponibles a través de etapas de renacimiento, o por invitación. En principio el objetivo de este mundo de fantasía es sobrevivir.
Como este es un juego en línea, para poder participar hemos de crear un jugador (con usuario y contraseña) en https://www.bat.org/play/creation. Esto requiere una casilla de correo electrónico válida.
En la web debemos elegir un trasfondo para nuestro personaje, que puede ser Nómade, Mágo, Civilizado, Religión Benigna, o Religión Maligna. En cada una de ellos contaremos con tres guildas recomendadas, así como muchas razas y puntos de experiencia (los típicos "EXP") para distribuir.
También podrás elegir tu lineamiento (bueno, neutro, o malvado).
Conforme hayas creado tu personaje, indica la dirección de correo electrónico válida y opcionalmente, un país de procedencia.
Activa la cuenta cuando te llegue el correo electrónico a la cuenta suministrada.
Conectarse a BatMUD
Conforme has creado la cuenta, accederás al juego utilizando la terminal. En el caso de un sistema GNU con Linux esto es sumamente sencillo, simplemente abre un terminal con Ctrl+Alt+T e ingresa el siguiente Comando de Organización:
telnet bat.org
Una vez dado de alta tu usuario, podrías comenzar tipeando los comandos help getting started o bien help quickstart.
Cuando comencemos el juego, nos encontraremos en Dortlewall, primer habitación tutorial. Allí nos serán ofrecidos varios tutoriales de gran ayuda para habituarnos a los conceptos del juego de fantasía, sus comandos, y como jugar. Quien no conozcla los MMPORGs habrá de seguir este tutorial para comprender el juego.
Los comandos más básicos de VatMUD son:
q - Salir
p - Volver a mostrar la página previa
b - Vuelve una página
n - Página siguiente
s - Inicio de documento
Siempre podremos introducir el comando ? para recibir esta lista de los comandos básicos recomendados en la situación donde nos encontremos.
Introduciento la letra de los puntos cardinales n, s, e y w podremos desplazarnos en el mapa recibiendo una descripción (la cual podremos solicitar con l). También podrás comunicarte e intercambiar utilizando las funcionalidades de economía virtual del mundo fantasioso.
La Ayuda del MUD puede conseguirse aquí.
Para ser proficiente en el mundo fantasioso de BatMUD, debes utilizar la mayor cantidad de comandos de su complejo sistema de operación textual. He aquí una breve lista de los comandos del juego
Informativos
help .......... Presenta las páginas de ayuda
score ......... muestra estadísticas, experiencia y status en gral.
sc ............ muestra su HP (salud) y SP (puntos de hechizos), 'sc on' activa el rastreo automático
exp ........... como score, pero solo muestra dinero y experiencia
show .......... muestra información del juego, 'help show'
i, inventory .. lista items de inventorio que lleva pero que noe stá equipado
eq, equipment . Lista el equipamiento en uso
quests ........ lista las búsquedas que ha completado
tasks ......... listas las tareas en ejecución
who ........... Lista a los jugadores logueados
finger ........ presenta alguna info de cualquier jugador en BatMUD
inform ........ toggles the display of login and logout messages
idle .......... Muestra cuanto tiempo estuvo quieto el jugador en el MUD
time .......... Presenta la hora actual del MUD
date .......... Muestra una lista de zonas de tiempo
uptime ........ Muestra el tiempo desde el último reinicio del servidor
Movimiento y Observación
n,e,s,w,u,d ... comandos básicos de movimiento para moverse de habitación en habitación (rosa de los vientos)
ne,nw,se,sw ... comandos básicos de movimiento para gaminar de habitación en habitación (rosa de los vientos)
exits ......... lista las salidas obvias de la habitación
peer .......... espía a través de una salida dada, sin traspasar la puerta
brief ......... Conmuta entre descripciones largas o breves de la habitación
l, look ....... Presenta una descripción de la habitación o mira un objeto
exa, examine .. Mira un objeto
bl, blook ..... Presenta descripción breve de la habitación
map ........... Presenta un mapa del área en las que estás si está disponible
whereami ...... Informa la localización
Comunicación
say ........... Dice algo a todos en la habitación
tell .......... envía un mensaje telepático a alguien en cualquier lugar del MUD
whisper ....... Susurra algo a sólo una persona en la habitación
emote ......... permite expresar sentimientos propios
emoteto ....... envía un sentimiento personal a una pesona en cualquier lugar del MUD
smile ......... sonríe felizmente. Ver 'help feelings' para más información.
ignore ........ bloquea mensajes de una persona o de todos bajo un nivel
lite .......... Destaca los mensajes de una persona
channels ...... lista tus canales activos de comunicación
report ........ reporta tus puntos de daño y magia por medio de say o tell
friends ....... Opera la lista de amigos. Ver help friends.
Personaje
title ......... Establece su título, disponible después de LVL17
surname ....... Configura su apellido, a partir de LVL10
desc .......... Descripción de tu personaje
plan .......... Escribe un plan (visto con el comando finger)
email ......... Configura una dirección de email para ti visible para los inmortales
url ........... Configura tu página web visible para todos
start ......... Presenta tu localización de comienzo actual, configurala con 'start here'
password ...... Configura una nueva contraseña para tu personaje
save .......... Guarda el status del personaje
ld ............ Corta la conexión del MUD temporalmente
quit .......... Sale del MUD
term .......... Configura el tipo de terminal
lines ......... Número de líneas de terminal (24)
get ........... Toma algo del suelo o desde otro objeto
drop .......... Suelta un objeto
give .......... Da algo a otro jugador
put ........... pone algo dentro de otro objeto
search ........ Busca objetos ocultos
keep .......... marca un objeto para ser "conservado"
wear .......... Viste ropa o armadura
wield ......... Porta un arma para utilizarla
eat ........... Come comida
drink ......... Bebe una pócima o botella (ver 'help handling' para mas información)
Combate
kill .......... Ataca un objetivo viviente
stop .......... Detiene la caza
wimpy ......... Configura nivel de acobardamiento
parry ......... configura su cantidad de entrenamiento
scan .......... Siempre muestra como está su oponente de lucha (Use 'party help' para obtener ayuda sobre el sistema de entrenamiento en BatMUD)
Habilidades y Hechizos
use ........... usa una habilidad
cast .......... casts a spell
show skills ... lista tus habilidades conocidas
show spells ... lista todos tus hechizos conocidos (help show) (Usa 'help skill/spell
permalink
22 january 2023
¿Cómo emulo una Fairlight CMI IIx en Ubuntu?
En una nota del mensuario Panorama, Juan Perón expone cómo instalar QasarBeach IIz, el emulador de la mítica computadora sampler Fairlight CMI IIx en Ubuntu.
¡Masas Descamisadas!
Hemos vencido en las más importantes lides que se nos han presentado, pero no podemos dormitar en los laureles. Ya sabemos lo que sucede cuando dejamos de percibir en las acciones inconfesables de siempre a la imperdonable antipatria y a la traición.
Hemos dicho que todo ha de estar al alcance del Pueblo, para que lo use el Pueblo. Sólo así tendrá un sentido beneficiario. Cualquier otra cosa solo servirá para dominarlo.
Nuestro Movimiento busca la auténtica Liberación del Pueblo, interpretando que ésta puede ser facilitada por quien - como reflejo preclaro de su alma - sea capaz de realizar este anhelo en forma de instrucciones de programación licenciadas en un todo bajo GPL. Esto es lo que hemos comprendido.
Vean señores, una CPU que existe sólo para intermediar en el control oligárquico del Pueblo, debe overclockearse hasta quemarse. Sólo se perderá así un elemento malévolo. Al fin y al cabo ya hemos afirmado aquello de que en cómputo propio, solo basta instalar software propio, y ir de /home a /var y de /var a /home.
Esto no siempre estuvo claro. Cuando nosotros dijimos eso el horno no estaba para bollos, había terminado la Guerra, pero hoy el mundo ha avanzado y este ya es un tango no lo toco yo solo; en este momento toda el África, el Asia, son todas repúblicas socialistas.
Existe cierto hardware que - a pesar de ser concebida con la mente puesta en el Pueblo - siempre fue seña de un Oligarca. Uno de las cocardas más representativas fue el de la Fairlight CMI, de 1979.
Se trataba de un instrumento musical revolucionario por el hecho de ser computarizado, el primero en contar con la posibilidad de conducir muestras digitales adaptables en tiempo real, y como tal, el primer Sampler de la historia. Esta computadora de 8 bits de factura australiana fue diseñada por los compañeros Kym Ryrie y Peter Vogel del Sindicato del Sintetizador, y operaba un extremadamente potente sistema operativo situado en diskettes de 8 pulgadas. Su novísima interfaz permitía hacer uso de gráficas monocromáticas, e introducir información a través del teclado de sintetizador, el teclado de computadora, un futurista lápiz óptico, y una entrada de línea o micrófono, capaz de registrar y reproducir muestras digitales de entre 8 y 24 Khz. Al adquirir una se le podía hacer cantar la marcha peronista, ya que su nombre indicaba ser una Luz de Justicia Social. Lamentablemente, sólo podía hacerse después de abonar 12.000 libras del momento.
Nuestro Movimiento no se ha hecho fuerte por promesas, sino por sus realizaciones. Es por ello que hoy damos al Pueblo de la Nación el lujo de un sucedáneo fiel de esta máquina, a sólo título de gritar un sintetizado "¡Viva Perón!". Y lo hemos dado como sólo puede hacerse: con todo.
Se trata de QasarBeach IIz, un programa de audio dable de instalar en sistemas GNU con Linux como Ubuntu.
Se trata de una sumamente lograda reproducción de la primigenia estación de composición digital, la Fairlight CMI, especialmente en su iteración IIx. Por otro lado, incorpora nuevas funcionalidades planificadas por los desarrolladores originales, pero que nunca vieron la luz.
Para instalarla en nuestro sistema GNU con Linux debemos dirigirnos a la página de descargas y hacernos con el fichero qasarbeach129g.tar.gz para Linux. Asimismo conviene bajar el fichero QasarBeach.zip que contiene una demo de 25 MB, como la documentación, guide.zip y cookbook.zip.
Si todo va bien, estos ficheros irán a parar a nuestro directorio de ~/Descargas/. Como no tenemos un instalador automático, lo instalaremos a mano. Todo debería salir bien al abrir una terminawl con Ctrl+Alt+T e ingresar el siguiente bloque de Comandos de Organización:
cd ~/Descargas/
tar xvzf qasarbeach129g.tar.gz ;
unzip QasarBeach.zip
mv ~/Descargas/qasarbeach ~/.quasarbeach/
mv ~/Descargas/QasarBeach/ ~/.quasarbeach/
Una vez instalado, de forma opcional pero recomendable podríamos crear un lanzador para nuestro entorno gráfico. En el caso de Mate o GNOME hacemos clic con botón izquierdo sobre el panel de Aplicaciones, y en el menú contextual elegimos Editar Menús. En el panel de menús elegimos "Sonido y Video" y hacemos clic el botón "Nuevo ítem". Esto abrirá la ventana "Crear Lanzador", en la cual podremos instruir la orden: /home/usuario/.quasarbeach/quasarbeach.
Una vez completada la creación del lanzador, ya pooremos ejecutar fácilmente el programa desde Aplicaciones / Sonido y Video / Qasarbeach.
El humilde Pueblo Trabajador conoce de oído que esta revolucionaria Fairlight CMI operaba a través de un teclado y un señalador en forma de lápiz óptico, dirigiendo una serie de pantallas de control denominadas "Pages" (activables con los números y letras). Ahora podrán manipularlo, ya que al ejecutar por vez primera el peronista QasarBeach IIz, nos encontraremos con la primer Page, el índice, accesible siempre con 1.
Naturalmente, en esta versión acomodada a las Masas del Pueblo, el índice es operable por medio del ratón.
En primer lugar debemos ver la Ayuda, la cual accedemos presionando 9 para acceder a una novedosa Page 9 "Help".
Por medio de la tecla S, que activará la Page S, donde podremos configurar algunos aspectos de visualización de la aplicación - como activar pantalla completa, dar presentación a color o la más clásico tono verde monocromático (incluyendo efecto de video empalizado opcional). Todo esto apunta a ofrecer una lograda reproducción efectista desde lo visual.
La Page M nos permitirá configurar los aspectos MIDI, que se adaptarán si contamos con un controlador conectado al sistema. En caso de no contar con un controlador MIDI, bien podremos usar la fila inferior de las teclas del teclado, con la incomodidad ahorrativa que esto implica.
Hasta aquí las opciones mas o menos únicas de esta implementación modernizada. El resto lo constituye un versionado notablemente transparente del modo de uso y feeling de la Fairlight CMI IIx. Esto va desde la vetusta interfaz de comandos activable con la tecla Escape, hasta las páginas de su bien amado secuenciador Page R que la hizo reconocida en el mundo de la música pop de los 80s.
Como sucede con los grandes descubrimientos, este compositor de ritmos sumamente interactivo implicó una evolución de la que no se retornaría: permitía armar la partitura de samples preprogramados, y dispararlos para realizar temas, un concepto notablemente novedoso en 1980 y fundante de toda una nueva manera de componer música digitalizada.
En el Page R podremos acoplarlo también con las posibilidades MIDI que sólo incporporaron las Fairlight en sus últimas versiones, aquí totalmente integrado.
En apretado resumen didáctico, diré que la obra puede definirse una biblioteca de voces y secuenciarlas en el Page R, definiendo patrones rítmicos o secciones melódicas. Estos se pueden utilizar en forma de bucles o dispararlos en una matriz de patrones. Las partes melódicas es posible grabarlas desde un controlador MIDI (o con el teclado de la computadora).
La Page 2 permite agregar una carpeta de samples como favorita, a la vez trabajar en la elaboración de toda una biblioteca de samples que sirvan como ingredientes de la secuencias que podremos crear para nuestro proyecto actual.
Podremos seleccionar las muestras sónicas clásicas en formato .vc distribuidas en los diskettes de 8 pulgadas de la Fairlight (500KB que permitían contener hasta 22 muestras digitalizadas de unos pocos segundos). Sin embargo, como prenda de modernidad también podremos operar con formatos de audio modernos, incluyendo .ogg, .mp3, .wav, etc. Al seleccionar un sample en esta página podremos visualizarlo y oírlo. Al presionar nuevamente 2, podremos guardar la biblioteca en un fichero englobador nuevo (ideal para coleccionar samples en base a proyectos).
Si necesitamos generar nuevas muestras sin tener que recurrir a samples originales, podremos hacerlo a través de la Page A. Esta permitía contemplar la captura de muestras digitales a través de un micrófono o entrada de línea balanceada conectada a la máquina original a través de una plaqueta conversora analógico-digital especialmente concebida por Fairlight (la primer placa de sonido propiamente dicha), y hoy superada por el excelente sistema de audio de nuestro sistema GNU con Linux, quien toma la posta en este menester.
En la Page A en efecto delimitar qué sector de la muestra capturada ha de considerarse como sample, a la vez de determinar sus parametría básica general. Por lo demás, como sucedía en la Fairlight original, podremos generar armónicos de voz "a mano" graficando los armónicos como el la CMI original, que daba uso a un lapiz óptico conectado al monitor por un cable espiral tipo teléfono.
Por otro lado, podremos directamente editar la forma de onda con un completo editor integrado en la Page E.
Si presionamos 3 podremos conmutar entre las Page 3. La visión primaria de esta Page es permitir asignar la librería de voces previamente seleccionadas en la Page 2.
En tanto que la secundaria - presionando nuevamente 3 - se nos presenta el selector de voces para el teclado. Lo natural es que las voces se acondicionan a las teclas, alterando su altura tonal de forma proporcional como si de un piano afinado se tratara. Fue esta condición la que hizo de la Fairlight el primer sampler con teclado de estado productivo.
Ahora bien, en caso de requerir complejizar la muestra, bien podremos recurrir a la Page 4, con la cual se hará factible graficar directamente perfiles armónicos de distinta índole para alterar la paleta sónica de la muestra en cuestión.
Esto no quedaba aquí. Por medio de la Page 6 hacía posible también trazar una onda sónica inexistente, lo que permitía una creación puramente sintética del sonido que escapaba del áurea paramétrica tan en boga en la era de la síntesis substractiva. A su vez, esta podía servirse de una portadora programable de onda sinusoidal, diente de sierra o rectangular. Es que no sólo fungía de Sampler, la Fairlight podía controlar tres voces de sintetizador también.
La Page 7 permitía definir más a fondo los parámetros de las 3 voces de oscilación, lo que completaba esta estación de trabajo musical con una potencia creativa inusitada en lo que hacía a los efectos digitales (limitados y en mono) que permitía la original.
El modelado final podía darse con una etapa de edición de armónicos. Estos armónicos permitían trazar el carácter del sonido de una novedosa forma visual, que incluso incluía - al procesarla - la clásica visión tridimensional a 45º de la Page V de la Fairlight, hoy rutilantemente rotativa gracias a la alta potencia de cómptuo Justicialista.
Las opciones de síntesis también están contempladas, con LFO, y distintos parámetros realizables.
Por otro lado, en la Page F dispararemos un bus estéreo de efectos de sonido programables. Estos equivalen en gran medida y cuantía a los originales, pero en este caso son reproducciones digitales de la circuitería en gran parte analógica y mono de la Fairlight original.
Naturalmente, el manejo requiere explayarse en el manual de la Fairlight original, pero no es absolutamente necesario.
Pues bien señores, estos instrumentos fueron diseñados para que los use el Pueblo. Es una herramienta, otra herramienta. Una herramienta puede ser un hacha para cortar madera y construir una casa, o ser un arma para reventarle la crisma a un vecino. Todo depende de cómo lo usa el Pueblo. Nosotros decimos que si hay que hackear, hackearemos para el pueblo.
permalink
21 january 2023
¿Cómo instalo un emulador de ZX Spectrum en Ubuntu?
Incluso reunido con Sindicalistas en su mítica residencia de Puerta de Hierro, Juan Perón centralizaba los vaivenes de política argentina. En uno de dichos encuentros explicó cómo emular un ZX Spectrum en Ubuntu.
(...)
De poco le vale el Gobierno a estos señores que todo lo que han hecho, lo han realizado en contra del Pueblo.
La acción de los hombres patriotas y el trabajo mancomunado es hoy lo único que salvará a la Patria. Porque yo no llamo Patria a sus campos, o a sus casas, sino a los hombres que trabajan en pos de estas realizaciones. Es para ello que nos hemos encuadrado, para realizar aquello que por otra parte, no ha sido sino el objetivo de los caballeros que lucharon por la Independencia, y de sus hijos que trabajaron por consolidarla.
Nosotros sabemos perfectamente bien cuales son los anhelos de los Trabajadores, y será usted un gran representante y delegado en el país, que les hará llegar mis saludos, esta carta, y esta cinta magnetofónica. Indudablemente que mi regreso está hoy mas cerca que nunca pues si este señor sigue en esta tesitura, no habrá más que volcar a la calle a las Masas con una consigna clara, y en un pronto santiamén todo tendrá el cause que nosotros esperamos. En ello cobra gran relevancia el rol de nuestros dirigentes.
Yo sólo ansío volver sin sangre, que es para lo que hemos invertido tiempo. Lo demás no lo haremos nosotros, sino que lo ha hecho ya nuestro enemigo. Que por otro lado ya son, cada día, menos. Pocos tienen pelo en las filas de Aramburu. Cuando hace mucho calor, el agüita se hace nube sola, ¿sabe?
En nuestro Movimiento, lo importante es llegar a las Masas. De nada serviría un software que sólo pueda ejecutarse en las más onerosas máquinas, mientras que el hardware más humilde permanece en la oprobiosa necesidad del más mínimo byte.
Es por ello que ya desde el Primer Peronismo nos dimos a suplir las necesidades de cómputo de un Pueblo que todo lo daba.
Naturalmente que esto implicaba grandes sacrificios que sólo podían venir de una certera forma de programar. Una en la que lo máximo se hiciera con lo mínimo, y en lo posible con nada. Esta es la verdadera forma de hacerlo: una donde eficiencia da todo de los últimos bits de memoria, resguardando en lo ínfimo material una espiritual computación para todos.
La Spectrum ZX82 de Sinclair Research consistía en la segunda versión de una microcomputadora de 8 bits concebida para masiva producción, basada en un procesador Zilog Z80 de 3,5 Megaciclos y con una memoria que que revistaba - de acuerdo al modelo o implementación - desde unos pijoteros 16 kilobytes hasta los 128 kilobytes de memoria RAM.
El objetivo era contar con un instrumento de cómputo al alcance del obrero de overol, que pudiese usar en su hogar para compilar una revolución en BASIC.
El sistema de operación iba contenido en 16 kilobytes de memoria ROM en placa, surtiendo el microcódigo del intérprete de Sinclair Spectrum BASIC 48 que permitía ingeniar microprogramas a través de un mediocre teclado gomoso. La salida de audiovisual comprendía un sintonizador de radiofrecuencia controlado por el microprocesador en sí, y unida a un aparato de televisión color presentaba un terminal de texto a 24x32 o gráficas de hasta 7 colores entre 15 posibles con una resolución tope de 256x192 pixels.
En fin, el conjunto permitía hacer cómputo, por media chirola.
Naturalmente esta maravilla del minimalismo se vio también clonada y copiada - tanto con licencias como por ingeniería inversa - en actos que podrían describirse como "robarle la billetera" a Sir Sinclair.
Con justicia podremos continuar haciéndolo a través de Fuse, el Emulador Libre de Spectrum para Unix (y similares como el GNU con Linux). Podremos instalarlo fácilmente en Ubuntum abriendo una terminal con Ctrl+Alt+t e ingresando el siguiente Comando de Organización:
sudo apt install fuse-emulator-gtk spectrum-roms fuse-emulator-sdl fuse-emulator-utils
Tras introducir nuestra contraseña de Conductor del Ubuntu se instalará el emulador. Podremos ejecutarlo desde Aplicaciones / Juegos / Fuse (GTK+).
Al iniciar, el Fuse nos presentará una ventana con no pocas opciones que implican el modelo de Spectrum (basada en cantidad de memoria). También el nivel de velocidad emulada y los menúes de configuración. Pero por sobre todo, la pantalla del intérprete.
Naturalmente, siempre he afirmado que emular no es mas que meterle la mula al microprocesador. En esta vertiente, podremos simular el Zilog Z80 con diferentes volcados de memoria de máquina. Desde el menú Options / Select ROMs / Machine ROMs se nos permitirá simular desde las Sinclair Spectrum 16K, 38K, 128K, pasando por las versiones producidas bajo licencia por Times, y las versiones ampliadas de Spectrum hasta su modelo último SE. También podremos configurarle aditamentos como la interfaz de Joysticks Kempston, popular adminículo opcional para meterle dos palancas, o un controlador de puerto serial tipo Centronics.
Con sacrificio, la microcomputadora podía adosar un lento lector de cintas cassette, método favorito para resguardo de masa. Este método se encuentra sencillamente emulado para incorporarle software pre-hecho: podremos descargar programas desde sitios recopilatorios como www.worldofspectrum.org. Allí encontraremos varios formatos de almacenamiento, tanto de diskettes como de cintas cassette.
Sin duda la manera más fácil es con los volcados cinta cassette, los cuales cuentan con un formato .tzx. En este caso, presionamos la tecla F3 para cargar el fichero tzx en el emulador y ejecutarlo sin más miramientos. También podremos hacer el mismo temperamento simplemente arrastrando un fichero .tzx a la ventana gráfica del emulador.
Mediante la emulación de los clásicos joystick Kempston, útiles para algunos juegos de plataforma típicos de esta máquina.
Naturalmente, también podremos programar en el BASIC 48 de 8K, haciendo uso del inefable teclado de múltiples usos, recurriendo a las teclas Mayúsculas para definir el cambio entre mayúsculas y minúsculas, Control para definir el caracter alternativo (indicado en rojo) y Alt para definir un caracter gráfico en las teclas que cuentan con ellas.
Vean señores, las teclas del teclado tradicional del ZX Spectrum permitían ahorrar tiempo en mecanografiado ya que comprendían no sólo caracteres (letras, dígitos, y acepciones gráficas) sino funciones (palabras clave, nombres de funciones de programación, colores, etc). Ciertas teclas contaban incluso hasta cinco usos.
La entrada con el teclado aparece en la parte inferior de la pantalla, a la izquierda del cursor, el cual podremos desplazar con las flecha izquierda y derecha del cursor. Debemos considerar, sin embargo, que su inserción no era tan "directa" como podríamos suponer, sino que debíamos recurrir a combinaciones de teclas para definir uno de los modos de inserción.
Las teclas combinables eran:
Tecla CAPS SHIFT: (Mayúsculas): Alterna entre insertar caracteres en mayúsculas o en minúsculas.
Tecla SYMBOL SHIFT: (Control): Conmuta al símbolo alterno marcado en rojo en la tecla.
Como vemos, estas teclas permitían operar según el "modos de inserción" de la consola del Spectrum. indicados por la letra indicada en el proverbial cursor parpadeante de video inverso. Este podía ser:
Modo K: ("palabra claves"). El modo por defecto, que se encarga de insertar una función de programación, según el contexto (al comienzo de una línea, o a continuación de la función THEN, o luego de un : (excepto en una cadena). Si no presiona Mayúsculas, lo siguiente se interpretará como una palabra clave (escrita) o un dígito.
Modo L: ("letras") este modo inserta los caracteres en minúscula de forma convencional. Podrás utilizar la tecla Mayúsculas para conmutar a mayúsculas o bien presionar la tecla Caps Lock para activar el Modo C y escribir en mayúsculas.
Modo E. ("Función Extendida"): Por medio de la tecla Tab o Ctrl+Mayúsculas podrán insertar aquellas funciones de programación indicadas por debajo de la tecla. Las teclas con números tienen funciones extendida de color.
Modo G ("gráficos): Por medio de Mayúsculas+9 activa el carácter gráfico indicado en la mayoría de los números y teclas, permitiendo hacer gráficas simiescas, con autorepetición al presionar una tecla durante mas de 2 segundos. Se desactiva presionando 9.
Al presionar la tecla Intro ejecutaremos la línea de BASIC, y si la misma cuenta con un número de listado, la almacenará en memoria a no ser que cuente con un error de sintaxis de BASIC, en cuyo caso nos indicará un error en forma de insolente "?".
En la medida que escribamos algún programa de BASIC, el listado se presentará en la parte superior, el cual podremos desplazar con Mayúsculas+6 y Mayúsculas+7. Si presionamos Mayúsculas+1 pasaremos al modo edición, y la línea seleccionada pasará a la línea inferior de edición, donde podremos retocarla.
También podremos solicitar un listado del microprograma con la palabra clave K, o y correrlo con la palabra clave R.
En ciertos casos podremos interrumpir la ejecución o bucle de programación con Mayúsculas+Barra Espaciadora.
Podremos encontrar un manual de ZX Spectrum aquí.
permalink
20 january 2023
¿Cómo utilizo ffmpeg para convertir videos en Ubuntu?
Durante la visita veraniega de Juan Perón a Córdoba acompañado por su señora esposa, el Conductor del Justicialismo explicó cómo utilizar ffmpeg para convertir videos en Ubuntu.
(...)
Vean señores,
Este pródigo día Peronista nos recuerda la necesidad plena de contar del consabido descanso de nuestras actividades anuales. Las vacaciones pagas - las cuales hemos hecho realidad nosotros para todos los Argentinos - son uno de los logros que más hacen por el país. No sólo permiten retemplar el espíritu, sino que permiten elaborar mejor lo que debemos hacer en la hora del trabajo.
Las tareas de planificación en concierto con un alto objetivo como el que nos hemos impuesto, no puede más que depararnos en el futuro la grandeza que cultivamos con la felicidad del Pueblo.
Sabemos que nuestro Movimiento es uno que enarbola la necesidad de obrar por la Patria, y reconoce una sóla clase de hombres: los que trabajan. Atrás quedó una Oligarquía que no hacía nada y para beneficio de la cual se agotaban las verdaderas fuerzas productivas del país.
No todo es material en la vida. Es indudable que el tiempo de ocio nos permite un enriquecimiento espiritual, pero también intelectual.
Vean ustedes que en nuestro sistema GNU con Linux, normalmente recomiendo utilizar el inefable Handbrake para operar las a veces necesarias conversiones de video. Se trata de un programa muy completo para estos menesteres.
Pero en las ocasiones donde las acciones de conversión o manipulación se vuelven repetitivas, qué mejor que utilizar la terminal de nuestro. En estas condiciones, la línea de comandos nos permitirá utilizar la ya histórica suite ffmpeg.
Se trata de un gran programa para la terminal en capacidad de oficiar para todo tipo de actividades poderosas en lo que incumben al control audiovisual de un fichero. En particular, se encadena a las librerías de codificadores de sonido y de imagen en movimiento, para poder hacer por diseño lo que nosotros queremos.
Si no lo tenemos instalada en nuestro sistema, podremos hacerlo abriendo una terminal con Ctrl+Alt+T e ingresando el siguiente comando de organización:
sudo apt update ;
sudo apt install ffmpeg
Una vez cargada la suite, también podremos cargar
El programa es muy completo, pero consta de muchos sufijos. Algunos de los más utilizados son los siguientes procedimientos:
Extraer el sonido de un video y guardarlo como MP3:
ffmpeg -i video.mp4 -vn sonido.mp3
Convertir fotogramas de un fichero de video o GIF en imagenes numeradas individuales:
ffmpeg -i video.mp4 -vn fotograma%d.png
ffmpeg -i animacion.gif -vn fotograma%d.png
Combinar imagenes numeradas (cuadro_1.jpg, cuadro_2.jpg, etc) en un archivo de video MPG o GIF:
ffmpeg -i cuadro%d.jpg -f image2 video.mpg
ffmpeg -i cuadro%d.jpg -f image2 animacion.gif
Extraer un fotograma de un video desde la marca de tiempo mm:ss y guardarla como una imagen de resolución 128x128 píxels:
ffmpeg -ss mm:ss -i video.mp4 -frames 1 -s 128x128 -f image2 fotograma.png
Recortar un video desde la marca de tiempo inicial mm:ss hasta la marca de tiempo final mmf:ssf:
ffmpeg -ss mm:ss -to mmf:ssf -i video.mp4 -codec copy recorte.mp4
Convertir video AVI a MP4 con códec de audio AAC a 128 kbps y códec de video h264 CRF 23:
ffmpeg -i video.avi -codec:audio aac -b:audio 128k -codec:video libx264 -crf 23 video.mp4
Remuxear un video matroska MKV a MP4 sin recodificar los streams de audio ni video:
ffmpeg -i matroska.mkv -codec copy video.mp4
Convertir video MP4 a VP9 (para mayor calidad, se recomienda utilizar un valor CRF entre 15-35:
ffmpeg -i video.mp4 -codec:video libvpx-vp9 -crf 30 -b:video 0 -codec:audio libopus video.vp9
Incluso podremos utilizar ffmpeg en forma de guion para realizar tareas más complejas.
Por ejemplo, podríamos querer acelerar un video un factor determinado (1.13x en este caso), y también hacer lo mismo con su audio.
nano acel_video.sh
Ingresamos el siguiente código fuente escrito en bash:
!/bin/bash
el setpts es 1/ el factor de velocidad.
el atempo es el factor de velocidad (para que el video coincida con el audio).
speed=1.13
mkdir $speed
for i in *.mp4;
do
para acelerar un achivo de video llamado vid.mp4 usar esta línea:
ffmpeg -i vid.mp4 -filter_complex "[0:v]setpts=0.884955752*PTS[v];[0:a]atempo=1.13[a]" -map "[v]" -map "[a]" fast_vid.mp4
para acelerar mp4 de audio usar esta línea:
ffmpeg -i "$i" -filter:a atempo=$speed -vn -y $speed/"$i"
done
Y lo guardamos con Ctrl+o, y salimos con Ctrl+q, para finalmente darle permisos de ejecución con:
chmod +x acel_video.sh
...y así podríamos utilizarlo para acelerar un video llamado obligatoriamente vid.mp4 localizado en el mismo directorio:
./acel_video.sh
permalink
19 january 2023
¿Cómo activo el sonido HDMI automáticamente en Ubuntu?
¡Trabajadores!
Nuestro Movimiento es uno que tiene una única razón de ser: lograr la Felicidad del Pueblo.
Esto, que responde a los anhelos más puros del pueblo, nosotros decimos que hemos de lograrlo en primer lugar por medio de una Comunidad Organizada que dé lugar a esta realización, ya que nadie puede realizarse en una comunidad que no se realice.
Para ello hemos decidido instrumentar herramientas que nos permitan lograr esta Comunidad Organizada: la Libertad Económica, la Justicia Social, y la Soberanía Política. Estas son nuestras tres Banderas, y cada una depende de las otras. Este entretejido de acción es el sostén de nuestras Realizaciones.
Los principios son simples y requieren un claro entendimiento de solidaridad. Pero desde que el hombre es hombre, siempre habrá un vivo que querrá avanzar por sobre una Comunidad Organizada para desgajarla de su sentir de Felicidad. Siempre habrá de esos que pretenden perder soberanía política en pos de mayor libertad económica individual... a esos debemos formatearles el rígido, y darle un botellazo en la cabeza si es necesario.
Pues bien señores, por esas cosas de la vida, al conectar el puerto HDMI de una Laptop a Ubuntu, el sonido no sale automáticamente por el monitor o televisor externo conectado a través de la salida HDMI del de la notebook, sino que continúa saliendo por los altavoces de la laptop. Naturalmente esto puede remediarse "a mano", toqueteando la opción de Sonido de Ubuntu: haciendo clic en el ícono del "parlante", luego ir a Configuración de Sonido, y elegir el hardware externo (la TV por ejemplo).
Pero como no tengo manos, he decidido evitar todo este incordio creando toda una serie de scripts - a los cuales es tan adepto el sistema GNU con Linux - para que este cambio se realice de forma automática sin mi intervención directa, y de esta forma evitar esfuerzos innecesarios. Es natural: este tiempo ahorrado podremos invertirlo en tareas más acuciantes como lograr la definitiva liberación del software del Pueblo Argentino.
La solución ha de realizarse una única vez para que luego opere autónomamente según la opción: se activará el sonido digital HDMI toda vez que contemos con este tipo de cable conectado al puerto HDMI de la notebook, y naturalmente a su vez exista un monitor externo que cuente con salida de audio (ya que existen monitores con entrada HDMI pero sin altavoces propios ni conectores de salida de audio integrados).
Activar audio HDMI automáticamente en Ubuntu
En primer lugar hemos de abrir una terminal de comandos con Ctrl+Alt+t y crear un fichero de texto, que contendrá las reglas de configuración específicas para el sistema de audio a través del conector HDMI. Para ello ingresaríamos el siguiente comando de organización:
echo 'SUBSYSTEM=="drm", ACTION=="change", RUN+="/usr/local/bin/sonido_hdmi"' >> /etc/udev/rules.d/sonido_hdmi.rules
Acto seguido, editamos un guión de programación específico para estas reglas, al que llamaremos sonido_hdmi, y le daremos asiento en el directorio /etc/local/bin/. Podremos hacerlo utilizando el editor GNU Nano si ingresamos:
sudo nano /etc/local/bin/sonido_hdmi
Esto abrirá el editor Nano con un fichero en blanco. Habremos de pegarleel siguiente código de programación:
!/bin/sh
Programa para conmutar automáticamente el sonido HDMI
USER_NAME=who | grep "(:0)" | cut -f 1 -d ' '| sort -u
USER_ID=id -u $USER_NAME
HDMI_STATUS=cat /sys/class/drm/card0/*HDMI*/status
export PULSE_SERVER="unix:/run/user/"$USER_ID"/pulse/native"
if [ $HDMI_STATUS = "connected" ]
then
sudo -u $USER_NAME pactl --server $PULSE_SERVER set-card-profile 0 output:hdmi-stereo+input:analog-stereo
else
sudo -u $USER_NAME pactl --server $PULSE_SERVER set-card-profile 0 output:analog-stereo+input:analog-stereo
fi
Una vez hecho esto guardamos los cambios en el fichero con Ctrl+o, y saldremos del editor Nano de nuevo a la terminal con Ctrl+x. No debemos olvidar otorgarle a este fichero sonido_hdmi ya asentado los permisos de ejecución, mediante:
chmod 0755 /usr/local/bin/sonido_hdmi
Finalmente, actualizamos las reglas para que Ubuntu las haga efectiva (debemos hacer lo mismo si deseamos eliminar reglas):
sudo udevadm control --reload-rules
Una vez reiniciada la netbook, deberíamos poder contar con sonido a través del dispositivo HDMI si utilizamos tal conector, y utilizar la salida analógica de parlantes de la notebook si este conector está desenchufado y sólo estamos usando el monitor de la laptop.
Deshacer los cambios
Si por algún motivo no quisiéramos eliminar y desestimar estas reglas y volver al procedimiento anterior, deberíamos recurrir a los siguientes comandos para volver todo a la forma en la que estaba antes:
sudo rm /etc/udev/rules.d/sonido_hdmi.rules ;
sudo rm /usr/local/bin/sonido_hdmi ;
sudo udevadm control --reload-rules
permalink
18 january 2023
¿Cómo instalo los clientes de Gopher y Gemini Phetch y Amfora en Ubuntu?
Con su Lettera 32 y desde el mítico despacho de Puerta de Hierro, Juan Perón confronta con los enemigos del Pueblo Argentino. En una misiva dirigida a la CGTA, enarbola cómo instalar Phetch y Amfora en Ubuntu.
¡Trabajadores!
La toma de poder por parte de un pequeño grupo de oligarcas que controlan poderosas empresas comerciales de plataformas han convertido las redes de datos en tecnoplantaciones. Esta nueva forma de esclavitud electrónica debe ser erradicada de todos los enlaces.
Estos señores que propugnan el uso de la "nube" sólo tratan de convertirnos en meros inquilinos del software en equipo ajeno, con la intención inconfesable que paguemos el alquiler con nuestros datos y las expensas con nuestra propia dignidad.
Lo procedente es la lucha por la Liberación Electrónica. Hemos de decompilar todo software privativo y liberarlo. Esas consignas que mas que mías son de la Comunidad Organizada, la defenderemos hasta el último byte.
Pero hay cosas más sencillas por hacer que pueden venirnos de perillas. Una de ellas es utilizar Gopher, el vernáculo y antiguo protocolo para ofrecer a quien se cuadre documentos de texto pelado. Sabemos que nuestro mainframe nos permite - aún a miles de kilómetros - digitar su destino. Quienes verdaderamente entienden sus vericuetos, aprecian sus secretos, y apelan a la creatividad para extraer lo mejor de sí son los hackers y hackeresas del Pueblo.
Uno de estos secretos es Gopher, el protocolo de transmisión digital del primer peronismo. El contenido - a dispensas de lo que podría considerarse valedero - se haya representado por lo mínimo imprescindible que puede transmitirse por cable: el texto plano: simplemente poniendo en "público" un directorio de un servidor y cargándole ficheros comunes y corrientes, cualquier compañer@ podrá proclamar lo que desee a los cuatro vientos telemáticos.
La navegación en hoyos Gopher es sencilla: se emplea un cliente de terminal y se lo apunta a un servidor que le va dando contenido de acceso público, en forma de cadena de caracteres. Sin vuelta y corta la bocha. Ya he explicado como utilizar el antiguo y muchas veces suficiente Gopher, el programa más pelado del mundo para este menester.
Pero los tiempos que corren pueden adecuarnos a un herramental más perfeccionado que - en ocasiones - nos complementará mejor. Phetch es este cliente veloz de Gopher para el terminal cuyas funcionalidades mínimas han sido remozadas, sobre todo en lo que hace a la codificación del texto UTF-8 y CP437.
Para instalarlo en nuestro sistema GNU con Linux debemos hacerlo a mano. Para ustedes eso es sencillo, simplemente abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes comandos de organización:
cd /tmp ;
wget https://github.com/xvxx/phetch/releases/download/v1.1.0/phetch-v1.1.0-linux-x86_64.tgz ;
tar -xvzf phetch-v1.1.0-linux-x86_64.tgz ;
mkdir -p ~/.config/phetch/ && touch ~/.config/phetch/history.gph
sudo mv /tmp/phetch /usr/local/bin/ ;
sudo mv /tmp/phetch.1 /usr/share/man/man1/
Luego ejecutamos el programa con:
phetch
o bien indicar una URL Gopher, como por ejemplo:
phetch gopher://texto-plano.xyz
Como todo cliente de Gopher, la navegación es sencilla. Podremos desplazar un cursor en forma de asterisco con las flechas de cursor arriba y abajo, e ingresar a un enlace con Intro o Flecha de cursor derecha, mientras que podremos volver o retroceder con Escape o la Flecha de cursor izquierda.
Podremos utilizar Ctrl+h para ver la ayuda. Con Ctrl+s podremos agregar un hoyo gopher a los Marcadores, y ver los marcadores con Ctrl+b.
Para salir del cliente presionamos la tecla q.
Ahora bien, también encotraremos solución en otros protocolo de texto puro aún más remozado que el antiguo Gopher: el Gemini. Este se trata de un herramental destinado aún a la web liviana y carente de imágenes, pero que dispone de mejores recursos que el antiguo Gopher, a la vez que replica su funcionamiento.
Los sitios de este protocolo se denominan "cápsulas" y constituyen al igual que Gopher, directorios con ficheros de textos de acceso público.
Ya he explicado cómo instalar el cliente gráfico Lagrange, pero para la terminal podremos utilizar amfora.
A partir de Ubuntu 22.04LTS simplemente lo instalo con:
sudo apt install amfora
Para ejecutarlo introduce
amfora
...o bien introduce alguna URL de gemini:
amfora texto-plano.xyz
La conducción de amfora es extremadamente sencilla. Será posible en cualquier momento presionar Ctrl+h para volver a la página principal. Empleando la barra espaciadora será ingresar una URL de cápsula Gemini. Podrán acceder mi cápsula comunitaria ingresando texto-plano.xyz/peron.
El desplazamiento por el documento se efectúa utilizando las flechas del cursor y AvPág y RePág. Los números de 1 a 10 permiten ingresar rápidamente a los primeros enlaces del documento actual. Es factible avanzar entre los enlaces con la tecla Tab o retrocede entre ellos con Shift+Tab. Se ingresa en los enlaces con la tecla Intro.
Para hacer un retorno a la cápsula anterior presionamos la tecla b.
También puedes presionar la tecla Ctrl+t para abrir el enlace resaltado, lo que dará por resultado en una nueva pestaña.
Amfora cuenta con una libreta de marcadores (bookmarks). Para agregar la cápsula actual a la lista de bookmarks con Ctrl+d. Despliega la lista de bookmarks con Ctrl+b.
Para salir del cliente presionamos la tecla Esc o la tecla q.
permalink
17 january 2023
¿Como desactivo las APT_news en Ubuntu?
Durante la inauguración del Centro para la Niñez de Campana, Juan Perón enseña como desactivar las APT_news en Ubuntu.
El proselitismo es uno de los aspectos de la política que no debemos soslayar, ya que un Movimiento se encuadra en pos de un objetivo.
Sin embargo, este cometido debe responder al mismo principio nodal que tiene toda acción, que es el de la economía de fuerzas. Este dicta que no debe usar todo en toda hora y en todo lugar, sino en el momento y lugar donde se decide la acción.
Por tal motivo, es redundante emitir mensajes cuasi-publicitarios a tontas y a locas, lo importante es hacerlo cuando se necesita.
Pues bien señores, es sabido que en el caso de Ubuntu y otros sistemas GNU con Linux que utilizan APT para instalar paquetería tipo Debian desde la Terminal, pueden recurrirse a este herramental como vector de mensajería top-down, esto es, desde un emisor de pequeños mensajes unitario hacia los usuarios.
Esto no estaría mal para alertar sobre descalabros de seguridad que requieran pronto conocimiento y remedio, pero se torna en un incordio cuando se lo emplea como vectorización publicitaria indebida.
El objetivo original de acercar alertas importantes de seguridad desde un punto de vista centralizado a la hora de operar la terminal para realizar actualizaciones de paquetería de sistema se vería trastocado.
Sobre todo al utilizar canales de R€ddit como r/linux o para publicitar el servicio de soporte Ubuntu Pro (lo cual se indica al usar la actualización desde la terminal, en el idioma de Braden):
#
News about significant security updates, features and services will
appear here to raise awareness and perhaps tease /r/Linux ;)
Use 'pro config set apt_news=false' to hide this and future APT news.
#
Si quisiera hacerlos, los haría a mano. Pero como me faltan las manos, indicaré como desactivarlos. Para ello abrimos una terminal e ingresamos el siguiente Comando de Organización:
sudo pro set apt_news=false
Tras ingresar nuestra contraseña, se desactivarán las alertas de APT.
En cambio, si por el motivo contemplado por Ubuntu queremos habilitarlo, debemos ingresar el comando:
sudo pro config set apt_news=true
permalink
16 january 2023
¿Cómo desmutear automáticamente los auriculares al iniciar Ubuntu 22.04LTS?
Reunido con la militancia de la Juventud Peronista, Juan Perón expone cómo desmutear los auriculares automáticamente al iniciar Ubuntu.
¡Muchachos!
Siempre me reconforta presenciar a esta juventud que siente, en la pureza de su corazón, la reverberación del Pueblo Feliz.
Los años me dan la experiencia que es un regalo que la vida nos da para cuando nos quedamos pelados. Por ello debo transmitir mi saber y mis consejos para que ustedes tengan un poco de la manija. Pero no mucho, no vayan a creer que todos los domingos se tira a un viejo por la ventana...
Siempre llevo en mis oídos la más maravillosa música, que oigo con mis auriculares analógicos. Pero a veces pueden surgir algunos problemitas que compliquen la cosa.
En una de las naturales actualizaciones doctrinarias para la toma del poder que se llevó a cabo en el servidor de audio de Ubuntu 22.04LTS Jammy Jellyfish, Ubuntu silencia automáticamente los auriculares al iniciar la sesión.
Creería entender el propósito de este esquema: simplemente hacer funcionar los altavoces principales y sólo en la eventualidad utilizar los audífonos. Pero en mi caso preferiría lo contrario. Naturalmente es posible lograr este procedimiento con tediosamente, desde Sistema / Hardware / Sonido, y en la ventana de configuración de sonido ir a la solapa "salida", y elegir la opción "Headphones" o "Auriculares" como dispositivo de salida. Pero este procedimiento manual me es molesto de hacer toda vez que lo tengo que repetir al reiniciar el sistema, y porque no tengo manos.
Afortunadamente estos cambios son posibles de solucionarlos fácilmente gracias al algo enjundioso programa amixer. Este nos permite controlar desde la terminal y en forma de comando la activación y volumen de los dispositivos de audio que tengamos instalados en nuestro equipo, ya sea este de escritorio o portátil, y por lo demás ya viene incorporado con ALSA, el sistema de audio típico de GNU con Linux.
Lo primero es consultar cuales son los controles de audio asignados por el adaptador de sonido. Para averiguarlo, podremos ingresar a la terminal con Ctrl+Alt+T e ingresar el siguiente comando de organización:
amixer controls
El sistema nos devolverá un listado indicativo de los canales de audio tanto de entrada como de salida que dispongan en sus equipos. En mi caso dependo del modelo del chipset de sonido Realtek ALC892 de modo que sus canales controlables son:
Master
Headphone
PCM
Front
Front Mic
Front Mic Boost
Surround
Center
LFE
Line
Line Boost
S/PDIF
S/PDIF Default PCM
Input Source
Auto-Mute Mode
Loopback
Rear Mic
Rear Mic Boost
Los canales indicados en verde son activables o desactivables ("muteables"), y pueden regularse en porcentaje. Master es el volúmen general ("maestro"), mientras que Headphone refiere a la salida de auriculares. Front responde a la salida de altavoces izquierdo y derecho, y las demás hacen a la posibilidad de instalar auriculares 7+1 (que no utilizo).
Gracias a estos comando, simplemente podría solicitar con la opción get un reporte del estado del canal "Headphone", de la siguiente manera:
amixer get 'Headphone'
...y en mi caso el sistema me responde:
Simple mixer control 'Headphone',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 64
Mono:
Front Left: Playback 0 [0%] [-64.00dB] [off]
Front Right: Playback 0 [0%] [-64.00dB] [off]
Como vemos, el volumen se pone en un magro 0% y por demás, ambos canales de auriculares (izquierdo y derecho) quedan apagados en off. Esto sólo lo querría un oligarca.
Para operar amixer utilizarán su opción set, con la cual se realizan cambios a los canales de control. De esta manera podrán indicar:
amixer set 'Headphone' on
y ponerlo en un volúmen medio con:
amixer set 'Headphone'50
Pues bien señores, para lograr que toda vez que se inicie el sistema haga lo propio el canal de auriculares y se ponga al taco usaremos 100 de volumen, puedo utilizar el fichero de autoejecución ~/.xprofile, que me permite agregar comandos que se ejecutan toda vez que se inicia la sesión de escritorio gráfico.
En este caso, ingresarán
nano ~/.xprofile
...y usarán la opción set de amixer para programar un contenido que refleje sus deseos. Por ejemplo le agregamos:
Agregado peronista para desmutear auriculares frontales
amixer set 'Headphone' on > /dev/null
amixer set 'Headphone' 100 > /dev/null
Una vez concluida la edición del fichero, lo guardamos con Ctrl+o y salimos con Ctrl+x.
De esta manera, reiniciamos el equipo. Cuando se iniciemos el escritorio gráfico con nuestro usuario de Ubuntu, inmediatamente se activará la salida de auriculares al volumen deseado (lo que antes teníamos que regular "a mano").
En mi caso el volumen en sí lo regularé con el control de volumen de Ubuntu, que opera sólo el canal "Master". A este casi nunca lo pongo al 100, ¡no hay que quedarse sordo como una tapia!.
Naturalmente, podríamos agregar mas condiciones de volúmen. Como ya he dicho, en el caso de mi adaptador de sonido, el regulador de volumen "Master" oficia de control de volúmen general, mientras que "Front" acota a los altavoces frontales, pero revisen ustedes cuáles son sus propios canales de audio. Para ello pueden utilizar el alsamixer y ver qué nombres tienen los canales a regular.
permalink
15 january 2023
¿Cómo puedo hacer un respaldo remoto con rsync en Ubuntu?
En 1969 y ante una entrevista para el períodico El Pueblo, Juan Perón expone en los jardines de la madrileña Quinta "17 de Octubre" cómo realizar respaldos remotos a través de SSH utilizando rsync en Ubuntu.
(...)
Con Isabelita nos mantemos actualizados instantáneamente de todo lo que sucede en la Argentina.
Todos los Movimientos replican la biología de los entes vitales que lo componen. En esto nadie tiene asegurado nada y es por ello que - conociendo este cariz inevitable - hemos de prever para proveer. Contar con un plan de contingencia de propia elaboración es la política que nos permite, en la desgracia, salir adelante remozados.
Dejar todo para último momento sólo nos asegurará una costosa improvisación desprendida de nuestros propios instintos, pero no de nuestros intereses razonables, y como tal suelen ser - por remedio - peor que la enfermedad.
Pues bien señores, un sistema GNU con Linux responde más o menos a las mismas directrices, ya que se trata de un sistema nacido en la consolidación de las voluntades informáticas del Pueblo.
En él, suelo normalmente recomendar diseñar una estrategia propia de previsión tendiende a conservar el funcionamiento del entorno y asegurar la preservación perenne de los datos propios, de un punto de vista en el que la granularidad de la conservación en el tiempo también nos permitan mantener el sistema doctrinalmente actualizado.
Así he obrado yo, que de esto se un poco, porque como político soy un aficionado, para lo que me he formado toda la vida es para ser un Conductor.
Usualmente es adecuado recurrir a la preservación por redundancia.
En GNU podremos lograrla preservando en medios de almacenamiento adicionales todo el trabajo elaborado y organizado.
Algunos oligarcas han pretendido proponernos como solución aquello a lo que estos vivos denominan "nube", que no es otra cosa que un equipo de cómputo ajeno. Sólo un tonto haría caso a este engaño para depositar sus datos en un servidor remoto que para colmo de males es ajeno y sobre el cual no tiene control real alguno.
Si la seguridad ha de hacerse de manera remota, más vale que lo sea sobre medios de almacenamiento y equipamiento que se encuentren bajo nuestro exclusivo control. Nadie duda ya que lo más útil en ambientes productivos de gran disponibilidad es contar con múltiples discos duros en una máquina que conoceremos como servidores RAID. Proceder así nos permitirá contar con duplicación, triplicación o incluso cuadruplicación de datos en el mismo momento que se los genera. Este proceder podría parecer exagerado a más de uno, pero es lo que alguien con respeto por su trabajo y dos dedos de frente haría. Al fin y al cabo, un disco rígido vale chirolas si lo comparamos con la información que resguarda. Por lo demás, contamos ya con sistemas NAT ya hechos, que pensando en este cometido pueden enlazarse a nuestra red LAN, dejando al alcance varios discos SATA de replicación automática.
Sin embargo, incluso podremos hacer respaldos de manera simplificada. Para ello, cualquier sistema GNU puede contar con rsync. Se trata de una aplicación que nos permite sincronizar los datos remotos en un directorio de otro sistema de acceso SSH (ya sea en la red LAN o a través de Internet).
Su sintaxis básica es:
rsync origen destino
Naturalmente, el comportamiento estándar de rsync de copiar y actualizar los ficheros desde el origen hacia el destino replica la necesidad del respaldo de ficheros. En otras palabras, rsync copiará solamente los ficheros nuevos o, en el caso de existir una copia de respaldo previa, sólo aquellos actualizados (modificados) . Al proceder tras este análisis automático, rsync se nos presenta increíblemente útil pues ahorra mucho ancho de banda y acelera enormemente la operación, deslindándose de trabajar ficheros ya respaldados.
Respaldo básico con rsync
Lo que se necesitamos para respaldar un directorio /home de forma remota, es otro sistema destino provista con SSH (y suficiente espacio de disco de destino como para almacenar nuestros ficheros allí), y rsync instalado en nuestro sistema local.
Podríamos querer agregar primero la opción "-n" al comando de rsync mientras preparamos todo y probamos. Esta opción hace que rsync realice una "prueba piloto" ejecutando el comando y produciendo salida en la terminal, sin que realmente manipule fichero alguno.
Utilizaremos rsync para conectarnos desde nuestro cliente (la máquina donde queremos almacenar la copia respaldo) a la máquina remota (donde tenemos el original). Para ellos indicamos la siguiente sintaxis:
rsync -avz -e ssh /ruta/origen/a/respaldar usuario:maquina.remota:/ruta/remota/destino
en donde la opción -a indica el modo "archivada", que retiene las fechas y horas, información de propietario y grupo, y espeja recursivamente, compiando enlaces simbólicos como enlaces, etc (si quisiéramos copiar el referente del enlace, tenemos que incorporar también -L. La opción -v es verbosa e irá indicando cada fichero copiado. La opción -z comprime los datos enviados. La opción -e indica el tipo de intérprete a utilizar (en este caso, shell seguro SSH). usuario es el nombre de usuario en la máquina remota.
Por ejemplo, para copiar todo nuestro directorio /home de nuestro sistema GNU con Linux a una máquina remota, utilizaríamos el siguiente comando de organización:
rsync -avz -e ssh /home/$USER usuario@maquina.remota:/ruta/destino
Naturalmente, al utilizar SSH, rsync nos solicitará la contraseña de la máquina.remota, y comenzará a copiar, reportando cada fichero. Una vez completado el procedimiento de respuesta al pedido de copias, rsync nos presentará estadísticas tales como la cantidad de bytes transferidos y la velocidad promedio.
Podremos utilizar este comando subsecuentemente. Lo más importante de este proceder será que rsyncs sólo respaldará los ficheros que subsecuentemente hayan cambiado y aquellos nuevos, lo cual es muy útil para mantener actualizado los respaldos de todo tipo.
Restaurar un respaldo
Para restaurar un archivo único desde la copia respaldo, podremos utilizar scp para transferirlo desde el directorio de respaldo local al directorio requerido en la máquina remota.
Ahora bien, para restaurar el respaldo al completo, simplemente indicamos el mismo comando anterior, pero invirtiendo el orden, pasando desde el directorio del respaldo a la máquina destino y origen, de la siguiente manera:
rsync -avz -e ssh usuario@maquina.remota:/ruta/origen/respaldo /ruta/respaldo/local
Como se ve, debemos ser cuidadosos de omitir la barra / al final de directorio. Al omitirse la barra, toda la estructura del directorio origen resultará recreada en la máquina remota (tal es el motivo por el cual la hemos omitido).
Nota: Si bien en Unix es opcional agregar una / para especificar un directorio, en el caso específico de rsync si hubiésemos especificado una barra la estructura de directorios se replicaría desde el directorio dado (por ejemplo, el comando rsync -avz- e ssh usuario@maquina.remota:/ruta/al/home /directorio/respaldo/local/ producirá el respaldo adentro de /directorio/respaldo/local/ruta/al/home en la máquina.remota).
La opción --delete
También han comprendido ya que el comportamiento estándar actualiza ficheros en el destino, por lo cual el borrado de los mismos en el directorio origen no hará lo mismo en el de destino.
Sin embargo, si quisiéramos que los ficheros removidos en el origen resulten también borrados en el destino, debemos agregarle el prefijo --delete.
Rsync y enlaces simbólicos
Como se indicó, el comportamiento estándar de rsync -a es copiar los enlaces simbólicos como enlaces. Para que esto no se produzca y se copien también los destinos de dichos enlaces simbólicos, debemos agregar la opción -L luego de la opción -a.
permalink
14 january 2023
¿Cómo puedo adoctrinarme cada vez que abro una terminal en Ubuntu?
Reunido en la Plaza de Mayo ante 8 millones de trabajadores, Juan Perón instruyó como adoctrinarse cada vez que se abre una Terminal en Ubuntu.
¡Trabajadores!
Hemos de decompilar ese software privativo y liberarlo. Esas consignas que mas que mías son de la Comunidad Organizada, la defenderemos hasta el último byte.
Sabemos claramente que para sobrevivir, los Movimientos requieren de un ideólogo y diez mil predicadores. Estos son los encargados de copiar en su mente y replicar en todo ambiente el mensaje, constituyendo la base de acción sobre la que se acrecienta un Movimiento.
En un sistema de cómputo como lo es GNU con Linux esto es sumamente sencillo pues facilita incluso lo de dar un discurso: la carga ideológica está, simplemente hay que copiarla. Además, los predicadores también pueden crearse en base a una simple aplicación que automatice este recurso tan humano como es parlotear.
Para ello abrimos una terminal con Ctrl+Alt+T e instalamos fortune-es (si no lo hubiésemos hecho antes).
sudo apt-get update ;
sudo apt install fortune-es cowsay
Tras ingresar nuestra contraseña de Conductor se descargará tal inefable programa. Normalmente ingresando:
fortune
...nos devolverá un aforismo en la terminal. Sin embargo, para elevar nuestra conciencia para los tiempos que corren, debemos actualizar tales frases con unas adicionales de exacerbada carga ideológica. Con tal fin crearemos un script capaz de descargar tal doctrina del justicialismo hacker. En la terminal ingresamos:
sudo nano /usr/local/bin/fortunes_doctrina
Se abrirá el editor GNU Nano con un fichero en blanco, al cual le agregamos el siguiente código:
!/usr/bin/bash
Programa para bajar las fortunes de adoctrinamiento peronista.
Requiere fortune, fortunes-es o fortune-mud
echo "Descargando todo..."
wget -O /tmp/doctrina https://caja.texto-plano.xyz/peron/fortune-phrases/doctrina2
wget -O /tmp/peron.cow https://caja.texto-plano.xyz/peron/fortune-phrases/peron2.cow
wget -O /tmp/vacapiloto.cow https://caja.texto-plano.xyz/peron/fortune-phrases/vacapiloto.cow
echo "Moviendo ficheros..."
mv /tmp/peron.cow /usr/share/cowsay/cows/peron.cow
mv /tmp/vacapiloto.cow /usr/share/cowsay/cows
mv /tmp/doctrina /usr/share/games/fortunes/es
cd /usr/share/games/fortunes/es/
echo "OK!"
echo 'Actualizando Doctrinas...'
strfile doctrina
echo 'Doctrinas actualizadas'
echo "Te devuelvo al directorio"
cd -
/usr/games/fortune -s doctrina | /usr/games/cowsay -f peron
Finalmente, lo guardamos el script de programación con Ctrl+o y salimos con Ctrl+x.
Vueltos a nuestro intérprete de comandos, podremos ejecutarlo con:
sudo fortunes_doctrina
El sistema las descargará y actualizará en meros segundos, presentándonos una para confirmar que todo salió bien:
Podríamos ahora emitir un comando entubado que nos borre la terminal y nos presente una frase de adoctrinamiento al azar, junto con la gráfica ASCII del Movimiento:
clear && fortune doctrina | cowsay -f peron
Naturalmente en vez de -f peron podremos probar con -f vacapiloto, para recibir la vaca hacker, símbolo de Huayra GNU/Linux, el sistema operativo oficial de Conectar Igualdad.
Incluso si lo deseamos, tras resguardar el fichero de autoejecución estándar .bashrc, podríamos agregar tal orden al final de dicho fichero, de modo que nos adoctrine toda vez que abrimos una terminal:
echo "clear && fortune doctrina | cowsay -f peron" >> ~/.bashrc
(Si no quisiéramos que borre la pantalla antes, le quitamos el clear &&).
De esta forma, al abrir una terminal nos refrescaremos con la parafernalia necesaria.
Gracias a los caños, quien tenga el sintetizador de habla espeak incluso puede utilizarlo para oír estas frases robotizadas, de esta forma:
fortune doctrina | espeak
permalink
13 january 2023
¿Cómo juego FreeCiv en Ubuntu?
En el incunable Apuntes de Historia Militar, Juan Perón expone los principales tratados en el arte de la conducción militar, pero también hace exposiciones sobre el desarrollo histórico de las grandes civilizaciones en conflicto. En tal tratado, también explica cómo instalar y jugar FreeCiv, el clon libre del Civilization en Ubuntu.
A lo largo de la historia se desarrollaron las primeras tribus de hombres, en los cuales certificaron, en la mancomunidad del cuidado de los unos por los otros, aquello que nos hace grandes.
Es así que - de estos individuos reunidos para capear a la naturaleza, recogiendo de ella lo que los sustentaba - podemos encontrar los primeros rasgos de lo que llamamos Humanidad. Algún fémur soldado es lo que arqueologicamente nos ha quedado como prueba de estos nobles hombres abandonaron la condición de bestias para formar las primeras Comunidades Organizadas: las tribus neolíticas.
Es así que los milenios transcurren no sin conflicto, pero el avance de la imaginación humana en su alabanza de lo superior, dota a su imaginación comunitaria, que es la cultura. Florecerá esta dando los primeros frutos perdurables en los asentamientos sedentarios Sumerios, conocedores de la metalurgia de la Edad de Bronce. Y su inspiración dada a través de la consolidación política aldeana, asida a la unificación cosmológica que permite la religión alfabetizada y el ábaco, nos ofrecerá ya los primeros trazos de un Estado Portentoso, ideológicamente consolidado por una Cosmovisión reglada. Daremos así con aquella gran civilización conocida, la Egipcia.
Tendremos así, en los obeliscos y monumentos del gran Ramsés II y del Hitita Muwatalis, los primeros tratados que nos permiten historiar las grandes campañas militaraes que chocaron en el 1.274 a.C. chocaron por Kadesh.
La historia de estos acontencimientos ha surcado las generaciones hasta nuesatros días, y hoy la podremos representar no sólo en el aspecto militar, sino también en el político-económico y científico, gracias al ordenador muuido con software libre.
En particular, FreeCiv es un juego de estrategia por turnos inspirado en la superclásico frasnquicia Civilization de Sid Meier (MicroProse), y como tal su objetivo es construir y hacer crecer la más grande civilización humana.
Debemos explorar, expandir, explotar recursos, y exterminar enemigos. Competiremos contra nuestros oponentes en fundar ciudades, usarlas para sustentar ejércitos y economía, y finalmente, amoldar un imperio que sobreviva las pruebas del tiempo y salga victorioso. Cada oponente puede ser otra persona o estar controlado por la CPU. Todos los jugadores comienzan en los albores de la historia con unas cuantas unidades -típicamente con un explorador y un par de colonos en el 4.000 antes de Cristo - y compiten para expandirse desde estos humildes comienzos.
Su instalación en Ubuntu es sumamente sencilla, ya que podremos afrontarla desde la terminal. Para ello abrimos una consola con Ctrl+Alt+t e ingresamos los siguientes comandos de organización:
sudo apt update ;
sudo apt install freeciv freeciv-client-gtk3 freeciv-data freeciv-client-extras freeciv-sound-standard freeciv-server
Tras ingresar nuestra contraseña, podremos acceder al juego desde Aplicaciones / Juegos / FreeCiv.
Al hacerlo se nos presentará el menú inicial de FreeCiv, donde podremos configurar una partida con condiciones de azar contra la CPU mediante el botón Empezar una nueva Partida. También podremos afrontar escenarios predefinidos (Empezar un Escenario).
Al crear un juego, podremos escoger iniciar un escenario al azar, o bien elegir un mapa histórico (existen mapas regionales y del mundo, a diferentes tamaños (dependiendo de la dificultad que queramos). La duración de la partida depende del tamaño del mapa y la cantidad de oponentes, pero puede variar desde unos 100 turnos a varios miles, lo que sin duda requerirá media tarde o algunas semanas.
También podremos elegir una era determinada, nación, y líder.
Algo interesante de FreeCiv es que nos permite escoger entre diferentes reglamentos y estilos de juego. Entre ellos podremos contar con el Default (reglamento de FreeCiv Classic, similar al Civilization II pero con mejoras). Pero también podremos afrontar los más tradicionales Modo Civilization I (antiguo reglamento poco realista, de probabilística pura), el modo Civilization II (mi favorito, más realista gracias al hitpower, cuyo manual está aquí), un híbrido entre Civilization II y Civilization III (con mas micromanagement, zonas de influencia, polución y facilidades y mejoras como auto-mover o auto-producción). A la vez, podremos crear nuestro modos personalizado si así lo deseamos.
Al comenzar la larga partida tendremos la típica "niebla", donde la mayor parte de tu mapa estará en negro, salvo por el terreno explorado; sólo cuando nuestras piezas exploren y descubran los océanos y continentes del mundo, se nos revelarán al resto del mapa (los jugadores pueden compartir sus mapas del mundo conocido mediante un pacto diplomático). Aún así, el mapa sólo presentará el terreno - no estaremos al tanto de los cambios en un área hasta que nuestras unidades la visiten nuevamente - por lo que no podremos observar el movimiento de las unidades del enemigo fuera del campo visual de nuestras unidades y ciudades: ¡es posible la sorpresa estratégica!.
El juego se desarrolla en turnos: los jugadores no consumen turnos, sino que operarán al unísono. Los turnos pueden tener una duración ilimitada mientras pensmos y ejecutamos la movida, cesando sólo cuando todos los jugadores hayan pulsado el botón de finalizar turno. En otras reglas de juego podríamos disponer un tiempo límite al final del cual se fuerza el cese del turno.
Al principio de cada turno todas las unidades reciben puntos de movimiento, los cuales invertiremos en los movidas y las acciones. Si realizamos una movida al principio del turno, una pieza puede quedar sin la capacidad de responder si un oponente luego se aproxima dentro del turno. Las unidades no acumulan puntos de movimiento extras al turno siguiente; cualquier punto de movimiento sobrante al final de la movida se pierde (a menos que la unidad reciba una orden como Fortificar, que sólo hace efecto al final del turno).
Podremos aprender si somos principiantes, aquí.
Las teclas de control representan las ventanas.
F1 Vista general
F2 Unidades
F3 Naciones
F4 Ciudades
F5 Economía
F6 Investigar
F7 Maravillas del Mundo
F8 Mayores 5 ciudades
F9 Mensajes
F10
F11 Desarrollo demográfico
F12 Nave Espacial
También podremos hacer acciones con las unidades mediante teclado, con:
G Mover
S Vigilar
Q Patrullar
X Autoexplorar
L Cargar en transporte
U Descargar de transporte
F Fortificarse/atrincherarse
En tanto que las ciudades o los constructores podrán trabajar
W Menú trabajo
B Construir (ciudades/unidades/caminos/irrigación)
Criterios de Victoria
Para alcanzar el éxito se requiere un equilibrio entre expansión económica, potencia militar y desarrollo tecnológico. Estos deben ser armónicamente promovidos para lograr alguno de los tres criterios de victoria:
Se declara ganador por defecto cuando la última ciudad y la última unidad de todas las demás civilizaciones son destruidas. Este criterio es prácticamente imposible de lograr sin un avasallamiento civilizatorio completo.
Una vez que el progreso tecnológico alcanza la era espacial, es posible lanzar una nave espacial; la primera civilización cuya nave alcance el sistema de Alfa Centauri gana.
No dadas las condiciones anteriores, el juego finaliza en el año 2000 d.C., que nos encontrará Unidos o Dominados. En este caso, esto se determinará por los valores estadísticos las civilizaciones supervivientes, y la que tenga mayor puntuación será la ganadora.
Naturalmente, un gran Conductor fundará un gran gobierno: del tipo de gobierno dependerán los efectos de la civilización en su tratamiento sobre los recursos extractivos y labrables en cada ciudades fundada. Puedremos cambiar de gobierno descubriendo un nuevo tipo y después iniciando una revolución (en el menú de Gobierno; tardará unos cuantos turnos). Los más importantes estilos son:
Despotismo: Es el tipo de gobierno inicial. Cada casilla que obtenga más de dos unidades de algo (alimento, producción o comercio) tiene una penalización de una unidad. Los colonos usan dos unidades de alimento por turno como mantenimiento, las unidades militares no tienen mantenimiento a no ser que haya más unidades asignadas a la ciudad que habitantes. La ciencia solo puede establecerse a un máximo del 60%. Tiene Alta corrupción.
Monarquía: No hay penalizaciones en las casillas. Los colonos usan una unidad de alimento. Las primeras tres unidades de una ciudad no tienen mantenimiento. La tasa máxima de ciencia es del 70%. La corrupción es pequeña.
República: Cada casilla con comercio obtiene otra unidad de comercio gratis. Los colonos usan dos unidades de alimento y una de producción. Solo se tolera una unidad militar en el exterior de la frontera. Las unidades adicionales crean un ciudadano descontento. La corrupción es pequeña.
Estrategias para ganar
Decía el Mariscal de Sajonia que su mula no sabía nada de estrategia de FreeCiv. Pero que sus generales, que la habían estudiado, a veces sabían menos. Es que no seguían estas máximas que hasta una mula podría emular:
Presiona F1, explora el mapa y busca buenos lugares para colonizar. Un buen lugar debe tener al menos 4 unidades de alimento (en las dos casillas usadas) y tanta producción como sea posible. No exploraba más de 3 o 4 turnos. Los mejores recursos son las ballenas y los faisanes. Las praderas y las llanuras son los mejores lugares para colonizar, maíz/oasis/búfalo son aún mejores recursos.
Una vez construida la ciudad, inicia la producción de Colonos. Abre el informe de ciencia con F6 y pon a investigar Alfabeto y como meta República.
Tan pronto como una ciudad alcance tamaño dos, haz click en ella y sitúa a todos los trabajadores en casillas con producción alta usando el minimapa. Si puedes permitírtelo, compra colonos.
Sigue produciendo solo Colonos y construye ciudades cercanas. Deben estar al menos a 1 ó 2 escaques de distancia. No te gastes en construír regadíos, caminos o minas.
Cuando República esté sólo a un paso de ser descubierta, cambia la meta a Navegación. Cuando descubras República, dispón la investigación en Cartografía e inmediatamente haz estallar una Revolución (menú Reino / Revolución). Cuando el gobierno cambie a República, construye caminos en los escaques usados.
VARIANTE: Si eres descubierto por el enemigo, construye unidades defensivas en las ciudades tan pronto como puedas, como Guerreros o Falanges si es necesario por ser un escenario insular, barcos. Puedes elegir colaborar con sus vecinos, use el menú Jugadores para saber con quién puede hablar.
Cuando la navegación esté a solo un paso, pon la meta en Motor de Vapor. Cuando descubras Navegación, construye unas cuantas Carabelas para explorar los alrededores y colonizar las islas cercanas. VARIANTE: A veces es útil investigar Comercio antes que Motor de Vapor para poder construir maravillas.
Cuando la mayoría de los puntos de tu isla están tomados, comienza a crear caminos preferiblemente en praderas y llanuras. Usa los caminos para moverte rápidamente y conseguir comercio.
Tan pronto como el Motor de Vapor sea descubierto, construye un montón de Patrulleras. Incrementa el porcentaje de impuestos para poder comprarlas. Acompáñalas con Jinetes cargados en Carabelas. Busca ciudades costeras de enemigo, ataca a sus defensores con las Patrulleras e invade las ciudades con Jinetes. Sitúa las Patrulleras en las ciudades tomadas como forma de defensa inicial.
Después del Motor a Vapor puedes investigar Electricidad y Acero para poder construir mejores barcos; destructores y cruceros. Cuando tengas Acero, pon los impuestos al máximo e invierte todo en la guerra.
Es importante saber que además de jugar contra la CPU como era típico en antaño, gracias al Justicialismo podremos conectarnos a un servidor multijugador de FreeCiv. Para ello en la ventana inicial deberíamos clic en Conectar con un juego en Red, y definir alguna de las dos solapas que delimitan el funcionamiento multiplayer: en red local LAN o bien a través de internet.
También contarmos con un descargador de mods. Para ello vamos a Aplicaciones / Juegos / FreeCiv Modpack Installer (gtk3).
Entre estos se encuentran modificaciones gráficas, de sonido, pero también del reglamento y gráficas (por ejemplo, similares a la Civilization III, con zonas de influencia, obra hidráulica, etcétera).
El uso de estos paquetes de mods se pueden configurar en el botón Ajustes del Cliente.
permalink
12 january 2023
¿Cómo hago radio streaming con butt en Ubuntu?
Ante la injusticia social predominante en la Argentina de mediados de la década de 1940, las radioemisiones se convirtieron en un vector técnico fundamental para el ideario del Justicialismo. En este aspecto Juan Perón instruye como propalar la doctrina stremeando con el butt, el emisor para radio peronista en Ubuntu.
¡Trabajadores!
Un Movimiento que anhela la grandeza de la Patria y el Bienestar de su Pueblo necesita contar con alguien particularmente comprometido con la acción de Masas, individuo capaz de ejercer la unidad de conducción y acción interpretando la voz del Pueblo.
En esto veremos existe lo que podemos describir como una mancomunión simbiótica. El Conductor interpreta al Pueblo, y para ello ha de tener los oídos bien limpios y la retaguardia mas.
Es que para que nuestra Vanguardia descamisada vaya al frente, debe contar con una retaguardia bien cubierta, y esto se logra por medio de una adecuada propalación de adoctrinamiento.
El uso de la radio y el broadcasting nos ofrece una ventaja singular, al permitirnos propalar a través de este medio técnico un mensaje centralizado. El éter nos ha servido de perillas. En la época de las galenas ya esto era una Realidad Efectiva, y no quiero decirle en la época del transistor, donde incluso en la espesura del monte cualquier paisano puede sintonizar con su Spica.
No hay que tirar ningún viejo por la ventana, pero si bien la radio nos permite emitir el mensaje del Justicialismo por las ondas hertzianas, es también evidente que los medios telemáticos nos permiten un perfeccionamiento al que debemos abrazar para Combatir al Capital.
Es que las redes conmutadas de datos - cualquiera sean sus fórmulas - pueden también convertirse en un vector paquetizado de acción full-duplex capaz de transmitir canales de audio digitalizado (recibiendo respuesta por cualquier otro medio que nos cuadre). Para ello debemos operar con que se llama stream, o secuencias de paquetes de datos, en este caso representantes del sonido.
Esto se hace realidad gracias al sistema GNU que he legado al Pueblo. Entre sus opciones válidas encontramos el servidor Icecast, constitutivo de una excelente plataforma. Asumiendo que contamos con este herramental de planta, podremos disponer de algún cliente compatible con el mismo para realizar la emisión paquetizada en tiempo pseudo-real (realmente atravesado cierto mínimo retraso de contención, denominado período buffer).
Pues bien señores, sin duda el Butt es de los ángulos que podemos observar para estos menesteres. Con este curioso nombre, se trata de un emisor que podremos asociar a nuestro escritorio gráfico en Ubuntu, y con el cual podremos transmitir un stream de audio digitalizado hacia un servidor de audio Icecast o Shoutcast.
Lo primero para disponer su acción será configurar la entrada de audio del equipo de cómputo (si no lo tuviésemos hecho ya). Cualquier peronista podrá hacerlo directamente desde el configurador de sonido de sonido del sistema. En el caso de Ubuntu podremos desplegar esta opción desde Sistema / Preferencias / Hardware / Sonido, y en su solapa Entrada podremos escoger el dispositivo de entrada de sonido.
Os recomiendo escoger el "Monitor de Audio Interno estéreo analógico" o similar, que captura todo el audio de nuestra PC y la emitirá. Otra posibilidad es elegir algún conector analógico de audio interno estéreo, como la entrada de línea estéreo o la entrada de micrófono mono) de su placa madre o placa de sonido, y conectar a el micrófonos, reproductores, mesas de mezcla, un celular. En tal caso será importante regular el nivel del volumen de entrada, como lo veremos más adelante.
Naturalmente, si hemos optado por utilizar el servidor de audio JACK (con el cual butt también es compatible), tendemos un ruteo de audio virtualizado mas avanzado con lo cual, podremos configurarle su entrada, pero también podremos utilizar el servidor de audio tradicional.
No bien hayamos cumplido con este paso obvio, en segundo lugar debemos instalar la aplicación de streaming. Esto es simple de hacerlo desde la terminal, abriendo una con Ctrl+Alt+t e ingresando el siguiente comando de organización:
sudo apt update && sudo apt install butt
Una vez instalado este ominoso programa, podremos ejecutarlo desde Aplicaciones / Sonido y Video / butt.
Arrancará y demostrará en el display la indicación "idle" ("en espera").
Para configurar el servidor de emisión manualmente, en la ventana de Butt se hará necesario hacerlo por única vez. Para ello presionamos el botón Settings, lo que desplegará las ventana de configuración.
En su solapa Main y en su apartado Server, debemos presionar el botón Add para agregar un servidor (podemos tener la cantidad que anhelemos).
Se desplegará la ventana server, la cual habremos de utilizar para configurar los datos de un servidor de radio en vivo disponible (butt es compatible tanto con servidores de tipo ShoutCast e IceCast).
Name: Ingresa el nombre del servidor
Type: Elige Shoutcast o Icecast
Address: Dispone la URL del servidor
Port: Numero del puerto
Password: contraseña alfanumérica para el emisor.
IceCast mountpoint: Punto de montaje del fichero de stream
IceCast User: nombre del usuario
Conforme hayamos ingresados los datos del servidor de streaming remoto, guardamos la misma presionando el botón Save.
Acto seguido debemos compatibilizar las opciones de audio. Escoge la solapa Audio y dispone los datos en el apartado streaming que sean indicados por el propietario del servidor que utilices:
Codec: OGG/VORBIS o MP3.
Bitrate Escoge la calidad de audio del servidor en kilobytes por segundo
Opcionalmente podrás presionar el botón Advanced… y elegir un tamaño de Buffer (ms) adecuado para tu velocidad de transmisión. Por defecto es de 50, pero si tu velocidad de conexión es muy lenta puede querer elevarlo a 250 o más si la transmisión se entrecorta.
Ya ahora tenemos todos listo para comenzar a stremear por el butt. Para ello presionamos el botón Play.
El display indicará connecting… y una vez establecido en enlace, informará Streaming e indicará el tiempo de emisión.
A partir de este momento podremos utilizar nuestro reproductor de audio favorito para escuchar y emitir música a la vez. Todo lo que oigas en tu computadora será codificado al vuelo y emitido a nuestra radio en vivo. Si en tu equipo utilizas JACK podrás rutear tus dispositivos, utilizar micrófonos para emitir en vivo, etcétera.
Butt mostrará el audio por medio de sus LED vúmetros. Al respecto debemos tener cuidado de regular el nivel del volúmen entrada para que los niveles más altos de sonido (picos) lleguen únicamente al primer LED ámbar (en lo posible jamás deben llegar al rojo, señal de aturdimiento).
Debemos recordar que en el caso de utilizar el mezclador interno estéreo, todo lo que oigamos en el equipo será emitido por streaming al servidor de audio (probablemente de manera pública). Naturalmente que hemos de ser precavido con lo que emitimos.
El botón Rec nos permitirá utilizarlo como un grabador de audio.
Para detener la emisión, presionamos el botón Stop.
permalink
11 january 2023
¿Cómo cambio mi contraseña de Root en Ubuntu?
Hoy está de moda el uso de la biométrica para signar el acceso a los medios electrónicos más diversos, e incluso las huellas dactilares pueden cumplir tal rol. Pero quiero ver cómo entran a un sistema cuando les faltan las manos...
Pero mas vale eso que perder la memoria: olvidar una contraseña de sistema es algo que - a pesar de lo extraño - puede sucedernos sin que podamos preverlo. Es por ello que poder alterar la contraseña de un Ubuntu al cual tenemos acceso físico puede constituir un conocimiento que - en beneficio de todos - debemos llevar en nuestra mochila de mariscal.
Es sabido que en todo Movimiento ha de producirse en una Organización sin la cual, nada puede hacerse de forma duradera. Sólo la organización trascenderá en el tiempo, ya que los hombres, por simple biología, somos perecederos. Un sistema de cómputo de tipo GNU no podía estar ajeno a tal adagio, ya que en él los roles que caben a sus usuarios se basan en una férrea interpretación de una jerarquía doctrinaria. Es que sobre una masa de usuarios convencionales encontraremos a un Conductor, que en el sistema se denomina super-usuario - o en el idioma de Braden, "root". Este se sienta - por decir - en trono de oro, y es capaz de observar las acciones de todos los demás usuarios del ordenador. Su fin es convertirse en máxima autoridad administrativa del sistema y de su autenticación podrá poner coto a las acciones de cualquiera que intente obrar dentro de este software organizado. Es así que este Conductor será capaz por esta vía de sobreactuar o alterar las acciones y permisos de cualquier usuario normal.
Este es el verdadero motivo por el cual - al realizar en GNU acciones tales como la actualización de sistema, instalación de aplicaciones y configuraciones generales - se nos suele requerir certificar el permiso de root, por medio de una una contraseña de root, la cual es chequeada contra una almacenada de forma cifrada en el fichero /etc/shadow.
Pues bien señores, querrán saber ¿qué sucede cuando un usuario normal o un administrador de sistema olvida su contraseña de usuario?. Durante tales incidentes, podríamos considerar reinstalar nuestro sistema Ubuntu "a tontas y a locas". Pero el Justicialismo para todo tiene un backdoor que llena con la potencia de su Doctrina. Os guiaré por tanto para otorgar la penicilina que sane de manera definitiva este inconveniente.
Cambiar la contraseña del testigo de autenticación en Ubuntu, podremos abrir una terminal, e ingresar:
passwd
El sistema nos solicitará la contraseña actual, y tras introducirla a ciegas, nos solicitará la nueva contraseña dos veces. Como es sabido, convienen utilizar una contraseña fuerte que combine caracteres y números, y no sean palabras del diccionario.
Resetear la contraseña olvidada en Ubuntu
La solución a este problema radica reiniciar nuesatro Ubuntu, y acceder al menú de arranque Grub, y dar inicio al sistema a través del Modo de Recuperación.
Para ellos reiniciamos nuestro sistema, y una vez que se apague la pantalla de la computadora, debemos presionar repetida y continuadamente la tecla Esc o la tecla Mayúsculas hasta que nos redirija a la pantalla del menú de arranque Grub.
En la pantalla del menú GNU Grub encontraremos varias opciones de arranque. Debemos utilizar las teclas flechas arriba y flecha abajo del cursor para movernos y navegar hasta el segmento Advanced Options for Ubuntu (Opciones Avanzadas para Ubuntu), y la elegimos con la Tecla Intro.
Al hacerlo nos redirigirá a otra ventana de Grub y en ella debemos elegir la versión del kernel más reciente que nos redirigirá al Ubuntu (recovery mode).
Se cargará el kernel (debemos de esperar varios segundos hasta que la ventana negra termine su ejecución), y tras ello aparecerá la ventana del Menú de Recuperación ("recovery-menu") con varias opciones administrativas:
resume Continuar con el arranque normal
clean Intentar liberar espacio
dpkg Reparar paquetes rotos
fsck Revisar todo el sistema de archivos
grub Actualiza el cargador de arranque
network Activar la red
root Consola de super-usuario
system-summary Resumen de sistema
Habremos de navegar hasta la opción nomenclada como root - Consola de super-usuario (o bien "Drop to shell prompt" si está en inglés), y debemos presionamos la tecla Intro.
Debajo de las opciones del menú de recuperación, se nos indicará que podremos ingresar al intérprete del mantenimiento si presionamos la tecla Intro (o bien podremos usar Ctrl+d para abandonarlo y continuar con el arranque).
Una vez que se nos muestre un prompt similar a:
root@sistema:~#
Si por algún caso no tuviésemos la partición de root montada, debemos hacerlo, y con permiso de lecto-escritura (ya que normalmente se carga en modo sólo lectura).
Esto ser hará introduciendo directamente en el prompt # el siguiente comando de organización:
mount -rw -w remount /
(nota: en caso de que el disco ya esté montado, nos lo informará con un error).
Ahora ya podremos resetear la contraseña del root del sistema, e incluso de usuario si lo deseamos. Para poder hacerlo, debemos identificar al usuario asociado con ella. Para ver los usuarios del Ubuntu, los listaremos con:
ls /home
Luego de identificar al usuario administración alteraremos la contraseña de usuario que queramos mediante la siguiente sintaxis del comando passwd:
passwd usuario_root
El programa passwd nos permitirá cambiar la contraseña; nos solicitará ingresar dos veces "a ciegas" la contraseña nueva de modo de re-confirmar esta contraseaña nueva.
Ya hemos logrado resetear la contraseña del root del sistema Ubuntu. Naturalmente, de tener que hacer una copia, debemos resguardarla en un lugar sumamente seguro (una caja fuerte puede ser una buena opción, pero la mejor es contar con buenas neuronas).
Ahora podremos salir del intérprete de administración ingresando:
exit
Esto nos devolverá nuevamente a la ventana Recovery Menu. Debemos elegir ahora la opción resume - Continuar con el arranque normal.
Podemos ignorar tranquilamente cualquier advertencia de modo gráfico, ya que un reinicio completo del sistema la solucionará.
Basado en la contraseña de usuario que hemos configurado, deberíamos ser capaces de reingresar nuevamente a nuestro sistema como usuario administrativo/root.
Con este conocimiento adquirido ya no debemos preocuparnos de perder el control de nuestros privilegios de Conducción en un sistema ubuntu, ya que podremos fácilmente recuperarlos. Sin embargo, debemos saber que la famosa "contraseña de Ubuntu" es fácilmente modificable para quien tenga acceso al equipo en sí. Por tal motivo, si queremos seguridad en nuestro sistema, debemos recurrir a encriptados fuertes del disco rígido.
Quitar el menú de recuperación de Grub
Sin embargo, gracias a esta enseñanza sabemos que esta famosa "contraseña de Ubuntu" es fácilmente modificable para quien tenga acceso al equipo en sí. Por tal motivo, si queremos seguridad en nuestro sistema, debemos recurrir a encriptados fuertes del disco rígido, o bien a quitar directamente la opción del menú de recuperación de Grub.
Esto debe meditarse ya que no podremos dar con estas soluciones de emergencia. Pero si queremos seguridad podremos contar con ella alterando la configuración de Grub. Para ello ingresamos:
sudo nano /etc/default/grub
Y buscamos la opción:
#GRUB_DISABLE_RECOVERY="true"
Y la descomentamos eliminando el #, de modo que quede:
GRUB_DISABLE_RECOVERY="true"
Guardamos los cambios con Ctrl+x y salimos del editor con Ctrl+q y finalmente actializamos el arrancador Grub para que tome los cambios que le hicimos con
sudo update-grub
Al reiniciar el equipo dejaremos de contar con la opción de recuperación y contaremos con un equipo algo más asegurado contra intrusiones (pero sin posibilidad de activar el modo de recuperación).
permalink
10 january 2023
¿Cómo instalo Lotus 1-2-3 y WordPerfect para Unix nativamente en Ubuntu?
Juan Perón consagró el nativismo a la política nacional haciéndose partícipe de la experiencia originaria. En una entrevista con su biógrafo, honra tal condición y expone cómo instalar Lotus 1-2-3 y WordPerfect de forma nativa en Ubuntu.
(...)
Me contaba mi abuela que cuando Lobos era apenas un fortín, ellos ya estaban allí… Mi abuela inmemorial era lo que bien podemos describir como una mujer machaza, que conocía todos los secretos del campo. Cuando la vieja solía contar que había sido cautiva de los indios yo le preguntaba: "Entonces abuela… ¿yo tengo sangre india?" Me gustaba la idea ¿sabe? Y creo que, en realidad, tengo algo de sangre india. Míreme: pómulos salientes, cabello abundante… En fin, poseo el tipo indio. Y me siento orgulloso de mi origen indio, porque yo creo que lo mejor del mundo está en los humildes.
De esto he obtenido valiosas experiencias, aunque esta siempre se encuentra situada en tiempo y espacio, y éste es intransferible. El software más privativo puede llegar a ser más evolucionado que el libre, pero cuanta más inteligencia tiene el ser humano, cuantos más medios económicos y culturales disfruta, más peligro puede traer a sus semejantes. En lo que respecta al uso de nuestro cómputo, podríamos fungir el uso de aplicaciones antiguas utilizando un emulador, pero siempre digo que en computación "emular es meter la mula".
Mas vale operar software de manera nativa, y esta indiada es posible lograrla en Linux con cierta maña, siempre que demos rienda suelta a las compilaciones obradas para UNIX, y eficiando aquellos viejos portes de sistemas operativos privativos.
Lotus 1-2-3 Release 3.1 para Unix System V/386 en Ubuntu
Vean señores, pocos pueden albergar dudas aún que Lotus 1-2-3 se convirtió, por mérito propio, en la aplicación asesina del IBM PC, y como tal resultó increíblemente popular ya desde sus inicios en 1982. El programa era como las tres marías: unía una planilla de cálculo, una base de datos, y la interesante función de gráficas estadísticas, en un paquete de ocasión que podía revolearse en cualquier negocio que se cuadrase. Esta inteligente opción, unida a una máquina que era capaz de operarlo, no tardó en desplazar a las microcomputadoras hogareñas más limitadas. Pero fíjese m'hijo como fue esta cosa: lo extendido del programa hizo que Lotus se regodease en dinero, y para 1990 maloneó un Lotus 1-2-3 nativo para Unix, certificado para el prominente SCO Xenix y su hijo SCO UNIX (aquél que incorporaba ya un kernel oficialmente licenciado por la AT&T).
Aún así, podría parecer que adaptar el Lotus 1-2-3 Release 3.1 de AT&T Unix System V/386 para correr nativamente en nuestra toldería Linux actual es tarea insuperable. Al fin y al cabo tendríamos que descargar dependencias de antediluvianas, hacernos con las imágenes de diskettes de Lotus 1-2-3 para este UNIX, engualichar y compilar todo. Pero mi rol como Conductor de Movimiento me ha impuesto hacerlo, y en tal capacidad he de decirle que podrán obrar de manera cristinana gracias al Justicialismo. Esto implica abrir una terminal con Ctrl+Alt+t y pegar en la consola el siguiente grupo de Comandos de Organización:
sudo apt install build-essential git lib32ncurses-dev gcc-multilib -f ;
cd~ ;
git clone https://github.com/taviso/123elf ;
cd ~/123elf ;
./objdump --info | grep coff-i386 ;
./binutils.sh ;
./gzip.sh ;
wget https://archive.org/download/123-unix/123UNIX1.IMG ;
wget https://archive.org/download/123-unix/123UNIX2.IMG ;
wget https://archive.org/download/123-unix/123UNIX3.IMG ;
wget https://archive.org/download/123-unix/123UNIX4.IMG ;
wget https://archive.org/download/123-unix/123UNIX5.IMG ;
./extract.sh ;
make ;
sudo make install
Estos procedimientos automatizados solicitarán en primer medida vuestra contraseña de root, y tras ingresarla en el termina, se irá al humo: La CPU obrará en secuencia y tras unos pocos segundos o minutos (dependiendo de lo vivo que sea el microprocesador), ¡tendremos instado Lotus 1-2-3 para UNIX System V/386 nativamente en nuestro sistema operativo Ubuntu!
Para ejecutar ahora Lotus 1-2-3 en la terminal, simplemente le pegamos el siguiente grito:
123
Esta planilla de cálculo era - por entonces - muy amigable de utilizar. La pantalla se componía por un "panel de control" o barra de menú, un área de hoja de trabajo, y una línea de status.
La navegación entre celdas se realizaba moviendo el puntero de celda iluminado con las flechas del cursor, lo que podíamos combinar con la tecla Fin para desplazarnos a la última celda libre.
Debíamos utilizar / para activar el menú con ayuda explicativa y movernos con las flechas del cursor.
Por ejemplo, para cargar un fichero podremos usar /f para ir al menú "File" ("fichero") y escoger la opción Retrieve ("cargar") o bien Save ("guardar"). Lotus utilizaba varios formatos, entre ellos .123, .wks, .wk1, .wk2, .wk3, .wk4, lo que nos permitirá abrir archivos del año del ñaupa (compatibles hoy con la mayoría de las aplicaciones como LibreOffice).
Para introducir el texto podíamos utilizar F2, y podíamos darle cierto formato mínimo con circunflejo, diéresis, o comilla, de esta forma: ^textocentrado, 'justificadoizquierdo, o "justificadoderecho.
Las funciones de cálculo de la planilla utilizaban la @ en lugar del =. Sin embargo, estas solían tener el mismo nombre que las actuales, así que podremos utilizar @SUM, @AVG, @INDEX, e incluso @HLOOKUP sin problemas.
Lotus 1-2-3 contaba con gráficas ASCII, lo que le daban por entonces cierto prestigio.
Incluso podríamos disfrutar de su interactividad en la misma tabla, años por delante del inefable Exc€l.
Una de las funciones típicas era la de poder abrir un intérprete, desde el menú System. (cerrándolo con exit o Ctrl+d volveríamos a Lotus). Para salir de esta clásica planilla de cálculo, nos dirigimos al menú Quit. Tras responder afirmativamente, cerraremos Lotus.
Debemos considerar que las muy extendidos modificaciones con Alt se reemplazan hoy con Ctrl. De este modo:
F1: Ayuda contextual
Ctrl+F1: Compone
F2: Editar
Ctrl+F2: Graba macros
F3: Nombre
Ctrl+F3: Corre macros
F4: Abs
Ctrl+F4: Deshacer
F5: Ir a.
Ctrl+F5:
F6: Ventana
Ctrl+F6: Zoom
F7: Solicitud
Ctrl+F7
F8: Tabla
Ctrl+F8
F9: Cálculo
Ctrl+F9
F10: Gráficos
Ctrl+F10
Si bien como todo programa UNIX que se precie, Lotus 1-2-3 Release 3.1 cuenta con una página man de instrucciones (podremos verla ingresando man 123), será útil visitar la Wiki de Lotus 1-2-3 para Unix. Pero no solo eso: tendremos a nuestra disposición la frondosa Documentación original de Lotus 1-2-3 para Unix, especialmente la Guía Rápida Inicial, el Manual de Referencia, el Tutorial (todos ellos en el idioma de Braden).
Una vez realizada estas tareas de compilación, ya no será necesario conservar el código fuente del Lotus. Lo podremos eliminar con:
rm -R ~/123elf
Wordperfect 7.0 para Unix en Ubuntu
Otros de los programas que podremos correr nativamente en Ubuntu es el superclásico procesador de texto WordPerfect.
A diferencia del Lotus 1-2-3, WordPerfect no fue originalmente una aplicación escrita para M$-DO$, sino que fue realizado en la Universidad Brigham Young para la minicomputadora Data General Nova. Sería recién a partir de 1980 que esta notable aplicación resultó portada pensando en los sistemas más pequeños, iniciando con M$-DO$ en 1982, pero otras microcomputadoras hogareñas como las microcomputadoras Atari ST, Commodore Amiga, y la Appl€ II y IIG$ (sobre MacO$ clásico), así como otros entornos tales como DEC OpenVMS, NeXTstep, e incluso IBM OS/2. Junto a todas estas tribus, existieron versiones apuntadas para las estaciones de trabajo provistas de los variados UNIX desperdigados por las Pampas, incluyendo SCO Xenix.
WordPerfect contaba con una interfaz de usuario absolutamente idiosincrática que dependía de una utilización cuasi demencial de las teclas de función y de su manual, un bibliorato de 600 páginas. Cada una de estas teclas contaba con un significado diferente, el cual podía combinarse con Mayúsculas, Alt y Ctrl. Aún así era complicado de recordar, por lo que incluso sus usuarios experimentados debían recurrir a una plantilla de teclado (una tira de cartón perforado adaptable al reborde del teclado IBM estándar del momento, que servía para nomenclar las teclas de función.
Esta plantilla funcionaba como una especie de protección contra copia, ya que como las versiones pirateadas no lo traían, era prácticamente imposible de utilizar sin este ridículo machete. Más de uno fotocopió esta plantilla, la caló con un cutter y aprovechó tal enjundio para reemplazar la original.
En particular gracias a éste, el compañero Tavis Ormandy ha sido capaz de recompilar la versión de Corel WordPerfect 7.0 que lo tenía como destinatario, con lo cual seremos capaces de utilizarlo en ventana de terminal en modo texto (incluso en una consola de Linux).
Podremos instalar este WordPerfect 7 de modo texto en cualquier distribución de Ubuntu o Debian de 32 bits, y correrá feliz en un 256 MB de RAM. Para instalarlo en Ubuntu abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:
sudo dpkg --add-architecture i386 ;
sudo apt update ;
cd /tmp ;
wget https://github.com/taviso/wpunix/releases/download/v0.03/wordperfect7.0_i386.deb ;
sudo dpkg -i wordperfect7.0_i386.deb
Acto seguido, podremos ejecutarlo por medio de
wp
La primera vez quer lo corramos se nos presentará el splash y estaremos en el clásico editor, ¡en nuestra terminal!
Podremos empezar a ingresar texto a la vieja usanza directamente, notando que no acepta codificación UTF-8.
En particular debemos entender que WordPerfect 7 for Unix contempla cierta combinación extraña de características del WordPerfect clásico (las versiones para PC previas anteriores a la 5): F1 repite caracteres y F3 para Ayuda, y otras que se encontraban a partir de la versión 5 y posterior, incluyendo los menús pull-down, aunque aquí se acceden con Esc+= en lugar de utilizar Alt o F10 como en DOS.
En fin, WordPerfect para Unix es un procesador de texto poderoso y capaz, que no requiere escritorio gráfico alguno y podremos finalmente ejecutar de forma nativa en Ubuntu. De hecho, es el más rico procesador de texto para modo texto que haya existido o existirá.
permalink
09 january 2023
¿Cómo compilo la última versión de DOSBox-X en Ubuntu?
¡Trabajadores!
Los cimientos de las realizaciones que hemos instaurado para el pueblo son sólidos y se reflejan en la felicidad de todos los Argentinos. No podía ser de otra manera, en tanto mantengamos el rumbo de la liberación que, hemos de decirlo, es el único camino que nos resultará venturoso.
El año 2000 nos encontrará unidos, o dominados, y esta hoja de ruta que les dejo habrán de recorrerla sin desviarse demasiado. Si lo hacen, no sólo pincharán la goma del auto, sino que se irán a la banquina.
Todo lo que hemos hecho ha sido mirando hacia adelante, y confiando en el momento en el cual otros tengan el volante, podrán conducir de una forma que sin ser la mejor, sea al menos virtuosa.
En esto hay que replicar también lo que hace a sistemas de cómputo. Veamos un ejemplo que podrá ilustrarnos, como decía el Mariscal de Sajonia.
DOSBox-X se trata de una versión expandida del famoso emulador de MS-DO$. En particular, a diferencia del DOSBox clásico, DOSBox-X es más simple de configurar e incluye opciones corregidas en cuanto al direccionamiento y virtualización del hardware, además de contar con opciones extras
Para poder utilizarla debemos primero compilarla. En Ubuntu 20.04LTS y superiores esto puede fácilmente con el afán del guión de programación surtido por el compañero Fanta.
Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos los siguientes Comandos de Organización:
cd ~
git clone http://git.56k.es/fanta/compile-Dosbox-x
mv compile-Dosbox-x/ .compile-dosbox-x/
cd ~/.compile-dosbox-x/
wget https://dosbox-x.com/images/dosbox-x-logo.svg
...tras lo cual procederemos a compilarlo mediante:
sudo ./compileDosBox-x.sh
sudo mv ~/.compile-dosbox-x/dosbox-x-logo.svg /usr/share/icons/
Acto seguido, podremos ejecutar DOSBox-X desde Aplicaciones / Juegos / DOSBox-X.
La primera vez que lo hagamos, nos solicitará un directorio de trabajo. En mi caso prefiero crear uno llamado ~/.jdos.
...cumplido este requisito estaremos inmediatamente en la máquina virtual...
Y tras ella se dará incio al intérprete de DOS. Podremos hacer pantalla completa con F12+F,
También será posible montar un directorio como unidad de disco (C: en el MS-DOS). Por ejemplo, si quiesiera montar un directorio llamado ~/.jdos utilizaríamos en el emulador:
mount c ~/.jdos
De entrada contaremos con un equipo XT compatible, de mediocres performance (emulada a 3 MHz). Pero nada quita que - virtualmente - podamos "meter mano al gabinete" y así configurar los distintos aspectos del emulador con F12+c.
Naturalmente, también podríamos editar a mano el fichero de configuración ~/.config/dosbox-x/dosbox-x-0.84.2.conf. En mi caso me gusta indicarle el montaje automático del directorio .jdos que utilizo para almacenar programas de DOS.
Las teclas de atajo por defecto son:
F12+f Conmuta pantalla completa.
F12+q Lanza un ejecutable de DOS.
F12+r Resetea la máquina virtual DOSBox-X.
F12+b Reinicia el DOS emulado.
F12+c Configuración gráfica.
F12+m Da inicio al mapeador de DOSBox-X.
F12+Esc Conmuta la barra de menú pulldown.
F12+Del Envía un evento de teclas especial (por defecto un reset con Ctrl+Alt+Del) al sistema huésped.
F12+{+} Incrementa el volumen de sonido del DOS.
F12+{-} Disminuye el volumen de sonido del DOS.
F12+] Incrementa los ciclos emulados de DOS
F12+[ Diminuye los ciclos emulados de DOS.
F11+= Incrementa los ciclos de emulación de CPU de DOSBox-X.
F11+- Diminuye los ciclos de emulación de CPU de DOSBox-X.
F12+arriba Incrementa el tamaño de la fuente TrueType.
F12+Abajo Disminuye el tamaño de fuente TrueType.
F12+Izq Resetea la velocidad de CPU actual a la normal.
F12+Der Activa el bloqueo de velocidad de DOSBox-X.
F12+d Cambia entre imágenes montadas de CD.
F12+o Cambia entre imágenes montadas de diskettes.
F12+p Captura la pantalla actual en formato PNG.
F12+I Inicia/Detiene captura de video en AVI.
F12+W Inicia/Detiene captura de sonido en WAV.
Alt+Pause Inicia depurador.
F12+[,] Selecciona el slot previo para guardar o cargar.
F12+[.] Selecciona el siguiente slot de grabación para guardar o cargar.
F12+S Guarda el estado actual en el slot de grabación elegido.
F12+L Carga el estado del slot de grabación.
F12+Pause Pausa la emulación (presione nuevamente para continuar).
Ctrl+F5 Copia todo el texto en la ventana de DOS y la pega en el portapapeles.
Ctrl+F6 Pega el texto del portapapeles en la ventana de DOS.
Ctrl+F9 Sale de DOSBox-X.
Ctrl+F10 Captura el mouse para usarlo en el DOS Emulado.
También podrán pasar DOSBox-X al castellano y configurarlo mediante un fichero de configuración que os dejo a mano:
cd ~/.config/dosbox-x/ ;
wget https://raw.githubusercontent.com/joncampbell123/dosbox-x/master/contrib/translations/es/es_ES.lng ;
https://caja.texto-plano.xyz/peron/config/dosbox/dosbox-x-0.84.2.conf ;
A diferencia del DOSBOX Clásico, ahora contaremos con menúes pulldown que nos permitirán ajustar variadas opciones (incluyendo montaje más simple de diskettes e imágenes de CD, desde el menú DOS).
También contaremos con opciones avanzadas, como un menú de configuración de sonido más sencillo (con el que podremos utilizar Soundfonts para simular sonido AWE-32 o bien Roland MT-32).
Entre otras novedades se encuentra la implementación de fuentes TrueType. Gracias a ello podremos cambiar la tipografía en el modo de terminal DOS (aunque en general prefiero fuentes PxPlus VGA Square para tal menester).
En definitiva, una excelente opción para jugar con antiguo software DOS por la Liberación del Pueblo y de su Hardware.
Podrán encontrar la documentación en la Wiki oficial de DOSBox-X.
permalink
08 january 2023
¿Cómo instalo el sintetizador Surge XT en Ubuntu?
Reunido con representantes de la Juventud Peronista, Juan Perón les enseña cómo instalar el sintetizador virtual Surge XT en Ubuntu.
(...)
Vean muchachos,
La Juventud amerita organizarse. Yo sé que ustedes son bochincheros, pero les voy a responder con un verso del Martín Fierro: "el que gane su comida / güeno es que en silencio coma / ansivo, vos ni por broma / querrás llamar la atención / nunca escapa el cimmarón / si dispara por la loma".
Si han de hacer barullo, que sea en acordes bien sentidos. Yo llevo en mis oídos la más maravillosa música que es para mí la palabra del Pueblo Argentino, y como tal me he aplicado a ejecutarla en sintetizadores emulados por software libre. Ya he explicado cómo agregar instrumentos LV2 a Ubuntu, y hoy vengo a traer a todos los Descamisados un nuevo instrumento que engrosará la burocracia del Movimiento con nuevas posibilidades sónicas.
Se trata de Surge XT, el favorito de la compañera Evita.
Este sintetizador virtual de tipo sustractivo había sido originalmente lanzado comercialmente por los muchachos de Vember Audio como "Surge", y ahora publicado por su creador Claes Joahn amparado por licencia de software libre GNU GPLv3. Gracias a esta libertad y un herramental de excelente factura e inteligentemente pensado, podremos no solo dar salida a ondas sinusoidales puras, sino que podremos controlarlo a través de MIDI.
Podremos descargar la versión empaquetada y utilizarla en Ubuntu 18.04LTS y superiores, utilizando la terminal con Ctrl+Alt+t e ingresando los siguientes comandos de organización:
sudo apt update ;
sudo apt install libxcb-cursor0 ;
wget https://github.com/surge-synthesizer/releases-xt/releases/download/1.0.1/surge-xt-linux-x64-1.0.1.deb ;
sudo dkpg -i surge-xt-linux-x64-1.0.1.deb ;
sudo apt install -f
Asimismo, se puede compilar en otras distribuciones.
El plugin quedará instalado en el directorio /usr/share/surge-xt y los parches de usuario se almacenarán en ~/Documentos/Surge XT (aunque este se puede cambiar desde el menú de Surge.
El excelente manual de Surge XT está disponible en forma de PDF aquí.
La interfaz de Surge XT se divide en cuatro secciones que ocupan su ventana (la cual, en un alarde de capacidad para el Pueblo, hace alarde de Zoom regulable, algo que no todos los plugins de la oligarquía pueden decir).
Encabezado: (con las opciones globales y de parches)
Controles de Escena: (modificadores del parche, divididos en sección de generación y de síntesis)
Modulación y Enrutado:
Efectos
De entrada contaremos con una amplísima biblioteca de más de 2000 parches categorizados, lo que nunca viene mal incluso entre los sintetizadores aditivos, ya que poco es más tedioso que buscar parches al vuelo para operar. En este caso, los encontraremos entre los preseteos de fábrica, y los amablemente aportados por terceros.
Cada parche estará formado por dos "Escenas" (escencialmente bancos de osciladores "A" y "B"+efectos. Cada banco cuenta con una salida Mono, y a la vez el parche cuenta con una salida estereo, totalizando así tres salidas (A y B mono + una mezcla L-R, estéreo).
Los controles son efectivísimos. Para los controladores de escena moveremos los deslizadores. La operación normal es rápida, pero si usamos Mayúsculas+arrastre del ratón (o Mayúsculas+rueda de scroll) sobre ellos tendremos ajuste fino. En tanto, al utilizar Ctrl+arrastre del ratón tendremos arrastre cuantizado a pasos fijos. En tanto, si usamos Alt+arrastre del ratón tendremos desplazamiento "elástico" (desplazando el deslizador, y volviendo a la posición de inicio cuando solamos Alt). Su usamos doble clic resetearemos el control a su valor por defecto. En tanto que clic con el botón derecho desplegará el menú contextual.
Ctrl+z y Ctrl+y son Deshacer y Rehacer respectivamente.
Asimismo es posible activar el MIDI Learn, para asignar potenciómetros (ya sean potes o deslizadores) y otros controles a las variables. Por ejemplo, la rueda de modulación.
Desde el punto de vista de su paleta, en Surge XT cada banco cuenta con tres osciladores sustractivos independientes, posibilitados ellos con seis modos de ejecución (PCM, Mono), y dos etapas de filtrado de corte/resonancia, balanceables entre sí.
Esto permite una enorme paleta sonora a la síntesis, pudiendo replicarse desde bajos punchis hasta sinusoidales Mooguianas. Pero no solo eso, entre sus opciones más impresionantes es la de contar - además de las etapas de filtro ADSR (ataque, decaimiento, sostenimiento, y apagado), cuenta con un filtrado por Modulación de Código de Pulso, lo que en cristiano significa que puede operar con entrada de línea o micrófono para emular un dulzarrón vocorder modulado por MIDI. Con el podermos no sólo obtener voces robóticas, sino combinarlo con autotuners para hacer barítono al mas perro de los cantantes.
¡Con su sencilla instalación paquetizada, hasta lo pueden usar ustedes muchachos!
Asimismo, podremos conocer mucho de su uso en cualquier sitio de video agregados.
permalink
07 january 2023
¿Cómo instalo y uso el intérprete de comandos Fish en Ubuntu?
En su discurso con motivo de la Fiesta del Pejerrey de 1947, Juan Perón retorna a Junín y expone sobre las bondades del fish, el intérprete de comandos avanzado de Ubuntu.
¡Trabajadores!
Desde los tiempos inmemoriales sabe el Hombre que obtendrá, con el sudor de su frente, los frutos que Dios le ha regalado en la naturaleza. Pero son pocos los que pueden multiplicar tal fruto como hizo Cristo con los peces. Esto motiva que, para que un trabajo sea verdadero, debe multiplicarse el esfuerzo en pescar.
Yo no enseño a pescar, eso lo hacen ustedes. (aplausos). Lo que yo doy son peces. ¡Y qué gordos que han picado!
La organización del trabajo es lo que nos ha dado lo que tenemos, y nos lo dará siempre que lo sepamos defender. Los derechos adquiridos que ha otorgado el Justicialismo emanan de una acción de Justicia que es comprendida por todos: la Justicia Social.
Pues bien señores, sabemos que en los sistemas GNU con Linux la dirección parte del hacker, que obrará indefectiblemente por iniciativa de Justicia Social. Quien en su nombre sirve a una empresa, lo es solo de nombre. Por ello, para que el trabajo se realice, hemos de ingresar órdenes en un intérprete de comandos, que recibe el nombre de shell.
En los Unix de los tiempos de Matusalén, el intérprete de base era el Sh, capaz de operar ya de forma interactiva, pero también como englobador de comandos en ficheros, a los que podemos llamar guiones. De este - diremos - trilobite, surgieron otros más interesantes y poderosos, como el C Shell, o la shell de Bourne. Cada uno de estos pescados presentaba más aletas, y otras características para nadar. En el mar, el pez grande se morfa al chico, y por ello fue que surgió uno que por entonces se estableció como el más pesado e inteligente, el Korn Shell, que hasta tentáculos tiene. Miren si habrá sido de ballena, que de él se inspiraron - en la época del GNU - para combinar un nuevo Bourne nacido de nuevo ("Bash"). Sería este el intérprete de comandos que viene por defecto en la mayoría de las distribuciones modernas de Linux.
El el que más me gusta porque va bien en su salsa, se lo empaniza, se lo sirve en cazuelitas: es compatible con todo lo que se ha hecho, pues está concienzudamente armado para retrocompatibilidad con programas antiguos y terminales teletipo.
Pero a veces conviene pescarse algo nuevo. Tanta arqueología es útil y tiene su lugar, pero no siempre implica lo mejor en agilidad en el mar. Mas de uno habrá percibido que el día de hoy las terminales cuentan ya con muchos colores, y no solamente caracteres de tipo ASCII, sino también hasta emojis, como los que uso para hacer la ✌️. De esta evolución, nació el intérprete Fish Shell.
Se trata de un intérprete de comandos orientado a maximizar la amigabilidad interactiva con el usuario, y no tanto en mantener compatibilidad con otros intérpretes más corrientes tales como el Bash que viene por defecto en Ubuntu. De esta manera Incluye muchas funcionalidades que se no encuentran en otros intérpretes modernos, incluyendo el uso avanzado de caracteres UFT-8 y emojis, que simplifican la experiencia de uso en gran medida.
Por otra parte, su sintaxis difiere un poco de la que utilizan otros intérpretes, lo que hay que tener en cuenta. Asimismo, fish abandona la compatibilidad con antiguas terminales teletipo.
Para instarlo abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente comando de organización:
sudo apt update
sudo apt install fish xsel git
Podremos ejecutarlo "a mano" para probarlo, para ello lo llamamos con:
fish
Ante un mensaje de bienvenida en el idioma de Braden, nos encontraremos un prompt básico de Fish, que guardará este estilo:
usuario@maquina ~>
Para salir del intérprete podremos ingresar exit, y volveremos al Bash o cualquier intérprete de comandos que estuviésemos utilizando por defecto.
Uso de Fish
Vean señores, el uso básico de fish es por generalidad similar a Bash u otros de su especie. Para su configuración básica, Fish utiliza el fichero ~/.config/fish/config.fish. (Introduciendo dicho código contaremos con un mensaje de bienvenida en castellano.
Autocompletado
En la medida que comiencen a introducir comandos, Fish nos sugerirá nombres y comandos al vuelo. Para terminar de escribirlos puedes presionar flecha izquierda de cursor.
Por defecto Fish utilizará colores que incluso te indicarán la validez de la entrada sugerida (marcando en rojo si es inválido).
También puedes utilizar la tecla Tab para completar un comando semiescrito.
Al presionar la tecla Tab dos veces, nos deplegará una lista coloreada con opciones, la cual podrás elegir utilizando las flechas del cursor. Con esto podremos nadar en los directorios como pez en el agua.
La más de las veces, Fish cuenta con este completado de comandos con explicaciones. Por ejemplo, si estamos utilizando la orden apt get install y presionamos Tab, nos presentará la lista de paquetes con un resúmen del mismo, situación que se replica con la mayoría de los comandos Unix estándar, espejador de código fuente git, y servidores Web... Trabajar así es un placer que no es esfuerzo...
Programación con Fish
Al igual que Bash y Korn Shell, Fish cuenta también con un lenguaje de guionado que guarda grandes similitudes, pero no es 100% similar a estos dos. Afortunadamente es posible aprender más sobre las diferencias del mismo en este Tutorial de Fish.
Temas con Oh My Fish!
Si bien la shell Fish no es demasiado compatible con otros intérpretes desde el punto de la programación estricta, es altamente configurable, por lo que podrás instalar temas y plugins paquetizados con el proyecto Oh My Fish!.
Instalación
Podrás instalar Oh My Fish! (y su tema “Default” ¡con “pescaditos” en el prompt!) en texto-plano. Utiliza:
curl -L https://get.oh-my.fish | fish
El instalador abandonará la sesión, tras lo cual podrás volver a ingresar.
Luego habrán de listar todos los paquetes de plugins y temas individuales del proyecto Oh My Fish! con
omf list
Podrán listar únicamente los temas con
omf theme
Podrán consultar todos los temas posibles aquí. Unas lindas que puedes probar sin conflicto son:
default boxfish bira coffeeandcode
gentoo godfather harleen mokou
neolambda scorphish
Instala un tema (por ejemplo gentoo) con
omf install bira
Algunos temas requieren ciertos cambios al prompt. Estos requerirían utilizar la orden omf doctor, y luego ingresar el comando rm ~/.config/fish/functions/fish_prompt.fish.
Pues bien si deseamos desinstalar un componente (como un tema instalado) habremos de utilizar:
omf remove bira
Para recibir ayuda del Oh My Fish! utilizaremos:
omf --help
Si deseamos desinstalar Oh My Fish! debemos emplear:
omf destroy
…con lo cual Fish retornará a su configuración por defecto, o bien podrán eliminar a mano su carpeta de configuración mediante:
rm ~/.config/fish/functions/fish_prompt.fish ;
rm -r ~/.local/share/omf
Convertir a Fish en la shell por defecto
Si han descubierto que Fish es de su agrado y desean utilizarlo siempre en Ubuntu (o sea, convertirlo en la shell por defecto en lugar de Bash) podremos cambiarlo haciendo uso del comando chsh, de la siguiente manera:
chsh -s /usr/bin/fish
Para que surta efecto, habremos de reinciar la sesión en Ubuntu.
Naturalmente, podremos volver nuevamente al intérprete por defecto de Ubuntu: Bash. Para ello debemos utilizar una ruta distinta, en este caso:
chsh -s /bin/bash
permalink
06 january 2023
¿Cómo instalo el editor Micro en Ubuntu?
En un discurso en la localidad de Pergamino, Juan Perón expone sobre como utilizar el editor Micro en Ubuntu.
¡Trabajadores! Regocija mi corazón contemplar este Pueblo abigarrado ante los cambios que nos hemos propuesto dar a la República. Es en favor de los humiles que trabajamos, y en ello hemos puesto todas las herramientas de las que disponemos.
En esto hemos hecho lo mismo que la naturaleza, creciendo de lo pequeño a lo grande en forma de núcleos de acción: ya que es nuclear el micro cosmos y el nuclear el macro cosmos.
En cualquier condición que se cuadre sabremos que tenemos a nuestro lado, una compañera ideal. Para un hacker no debe haber nada mejor que una hackeresa.
De poco sirve una herramienta si no puede servirnos para el ideal final al que todos aspiramos, que es la Liberación del Pueblo y de su Software.
En el caso de los procesadores de texto, podremos encontrar en Micro un editor que puede salvarnos las castañas.
Se trata de un editor basado para la terminal, que apunta fundamentalmente a convertirse en un sucesor de Nano, pero que a su ver resulte fácil e intuitivo de utilizar. Como tal, puedo recomendarlo ampliamente para quienes, viniendo de un sistema operativo privativo, anhelen incursionar en la Terminal como senda de Liberación. Al conservar gran similitud a los atajos de Window$ (pueden modificarse también), puede servir como navaja suiza para quien requiera escribir cualquier cosa con gran agilidad.
En particular, además de poderse ejecutar en multitud de sistemas y encontrarse espcialmente apto para su manejo remoto a través de enlace seguro SSH, Micro viene un un sólo binario estático, sin dependencias, de modo que se puede descargar y usarse en cualquier sistema remoto, incluso aquellos en los cuales no gozamos permisos para instalar software de manera local.
En el caso de Ubuntu, hacernos con este maravilloso editor es moco de pavo. Simplemente hemos de abrir una terminal con Ctrl+Alt+t e ingresamos el siguiente comando de organización:
sudo apt update
sudo apt install micro wl-clipboard
Nota: En versiones de Ubuntu anteriores a la 20.04LTS debemos utilizar sudo apt install micro xclip)
Conforme se haya instalado, podremos ejecutarlo en la terminal ingresando simplemente:
micro fichero.txt
Y ya estará listo para usarse. Han de mecanografiar para ingresar texto en la ventana actual (denominada buffer en la jerga) y editar tu documento. Utiliza Ctrl+s para guardar, Ctrl+q para salir.
Dando empleo a Ctrl+flechas del cursor es posible desplazarnos palabra por palabra. Utilizando Alt+Flecha izquierda o Flecha derecha es posible mover el cursor hasta el inicio o el final de la línea. Es posible avanzar o retroceder entre párrafos con Alt+{ o Alt+}.
Mayúsculas permite seleccionar, Ctrl+a selecciona todo, Ctrl+f activa la búsqueda, Ctrl+z deshace, Ctrl+x corta y Ctrl+c copia, y Ctrl+v pega, respectivamente, muy à la Window$.
Ctrl+e permitirá abrir el modo de comandos.
Hay muchos que pueden servir, pero los más útiles sin duda respectan a la creación de ventanas.
vsplit Divide ventana verticalmente
hsplit Divide ventana horizontalmente
vsplit fichero.txt Carga fichero.txt en ventana vertical
hsplit fichero.txt Carga fichero.txt en ventana horizontal
set softwrap on Divide el texto
set scrollbar on Agrega una barra de desplazamiento vertical
Esto nos permite generar un entorno multiventanas si la necesidad nos lleva a ello (la programación, las traducciones, y la elaboración puede requerirlo). Las funciones útiles están constituidas con Ctrl+w para intercambiar de ventana, o Ctrl+r para activar o desactivar los contadores de líneas del documento.
En el podremos ingresar help topic para desplegar el sistema integrado de ayuda. También puedes presionar Ctrl+g para abrir el fichero de ayuda principal.
Puedes adoptar un tema ingresando Ctrl+e para introducir comandos (autocompletables con Tab y dilucidados con tab+tab, además de contar con historial con flecha de cursor arriba/abajo), y probando con algún esquema de color. Por ejemplo, introduce set colorscheme zenburn. Prueba también los esquemas zenburn, gruvbox, dracula, twilight, railcast, bubblegum (esquema claro). Para terminales clásicas a 16 colores puedes optar por simple, solarized, cmc-16, cmc-paper y geany, o bien sus versiones sufijadas con -tc, para terminales true color.
Zenburn:
Gruvbox:
Monokai (por defecto)
En fin, un grato editor que podrá hacer delicias de las compañeras peronistas que caen en los sistemas Unix Públicos...
permalink
05 january 2023
¿Cómo puedo utilizar la contraseña de aplicación OAuth2 con Gmail de Google desde Thunderbird en Ubuntu?
Sometido al ostracismo del exilio, Juan Perón explica cómo activar y utilizar la autenticación de dos pasos OAuth2 de Gmail de Google con Thunderbird en Ubuntu.
(...)
¡Trabajadores!
A partir de este 1 de junio, el oprobio ha caído no sólo sobre nuestra Patria, sino sobre todas las tierras habitadas por los hombres de Bien.
Es que el clásico y eficiente procedimiento de conexión al servidor de correo por usuario y contraseña para utilizar Gmail de Googl€ - permisivo durante mucho tiempo - ha sido invalidado por tal abyecto proveedor de servicios telemáticos.
Lo notaremos ya que nuestros clientes de correo electrónico (Thunderbird y Alpine entre otros), el cliente "nos dejará pagando", y no podremos ingresar. A pesar de que indiquemos la contraseña de usuario, el servicio no podrá establecerse, ni para sincronizar una casilla IMAP y mucho menos una POP3.
Por principio, esto no debe amilanarnos. Existen ya múltiples proveedores libres capaces de ofrecernos correo electrónico, tales como https://riseup.net/, https://autistici.org/ o bien https://mailnesia.com/. Y llegado el caso, podremos hacerlo nosotros mismos.
Ahora bien, podremos seguir utilizando la casilla de correo electrónico sin cifrado que provee Googl€ por medio del procedimiento de autenticación de dos pasos, llamado OAuth. Aún así, debemos considerar gravemente que implica proveer un número de celular (normalmente asociado con un país de residencia). A su vez, la tarea de certificación implicaría utilizar el mismo dispositivo que utilizaremos para conectar el cliente (ya sea móvil o un equipo de escritorio). Esta supuesta mejora en seguridad esconde un elevadísimo riesgo a la privacidad electrónica individual y grupal. En particular, toda actividad de correo quedará asociada a una cuenta y a un dispositivo, y para peor, a uno geográficamente rastreable por medio de metadatos y metrías de conexión inalámbrica por ondas abiertas, las cuales son la forma de utilizar las líneas telefónicas celulares.
Sólo este riesgo cabría describirlo como inaceptable y defectuoso por diseño, por lo cual debemos considerar muy seriamente desechar directamente todo uso de Googl€ y sus servicios de opresión y vasallaje.
Sin embargo, en las condiciones en las cuales necesitemos continuar utilizando tan oprobioso mecanismo para un simple correo electrónico - que puede obtenerse de forma mas segura a través de otros proveedores menos invasivos que Googl€ - podremos continuar utilizandolo activando el proceso OAuth2.
En primer lugar en nuestro cliente Thunderbird debemos presionar el botón ≡ y verificar las Preferencias Generales de nuestro cliente de correo electrónico. Para ello vamos a Preferencias y en la ventana elegimos el apartado Privacía y Seguridad. En el apartado Contenido Web normalmente estará tildada la opción la opción Aceptar Cookies de los sitios (opción por defecto.
Sin embargo, podría suceder que querramos destildar esta opción, para evitar absolutamente descarga de cookies por un cliente de correo electrónico.
Si no deseamos Aceptar Cookies de los Sitios, a partir del 1 de junio de 2022 deberíamos utilizar método de OAuth2 para poder acceder desde aplicaciones.
Podremos aceptar todas las cookies (no recomendado), o crear una excepción a la cookie de Google. Para hacer este temperamento, presionamos el botón Excepciones...
En el campo Dirección del Sitio Web del cuadro de diálogo de Cookies - Excepciones, ingresamos la URL https://accounts.google.com y presionamos el botón Permitir.
Una vez que el sitio esté agregado, presionamos Guardar Cambios.
Crear contraseña para aplicación
Pues bien señores, cada aplicación podrá recibir una contraseña pasavante de 16 cifras - creada al azar por Googl€ - que puede emplearse para autorizar la recepción y envío de correo electrónico. Tal método nos permitirá reutilizar el correo electrónico Google IMAP a través de los clientes como Thunderbird y mi favorito, el Alpine.
Es importante recalcar que esta contraseña pasavante sólo cobra utilidad para el servicio de correo Gmail, y no equivale a la del usuario de Googl€. Antiguamente, utilizábamos la contraseña de usuario de Googl€ para "entrar al mail", lo que a partir de ahora no tiene más efecto. La contraseña pasavante para la aplicación de correo puede guardarse en el llavero de contraseñas de Ubuntu, ya que permanece asociada al dispositivo (lo cual nos salva de tener que recordar una contraseña alfanumérica difícil). Es sabido mi recomendación de guardarla en algún medio seguro, entendiendo por esto en un registro papel físicamente protegido.
Para crear la contraseña pasavante, utilizamos un navegador certificado (Firefox funciona bien) desde el mismo dispositivo donde tenemos el cliente. Iremos a las opciones de la cuenta de Google, y generaremos una clave.
Para ello nos damos de alta al usuario de Google, y hacemos clic en el avatar de usuario, seleccionamos la opción "Gestionar tu cuenta de Googl€".
En la web de gestión, seleccionamos el apartado Seguridad, y activamos la sección Verificación de dos pasos. El procedimiento implicará dotar un número de teléfono móvil.
En mi caso denunciaré una línea celular de un proveedor móvil que ya no existe, instalada en un móvil obsoleto que descartaré.
Conforme se ha activado la Verificación de dos pasos, crearemos una contraseña pasavante de aplicación para los clientes de correo de Linux.
Para ello seleccionamos el apartado Contraseñas de Aplicaciones. En el selector desplegable Seleccionar Aplicación elegimos "Correo", y en el selector desplegable Seleccionar Dispositivo será necesario escoger "Otra (nombre personalizado)".
Le damos un nombre de dispositivo (por ejemplo, "Correo IMAP desde Linux") y presionamos el botón Generar.
El sistema OAuth enviará un código de verificación al teléfono móvil sosías, y al introducir el mismo en la web de autenticación de Googl€, se generará un código de contraseña de aplicación (pasavante) de 16 caracteres para la función de correo IMAP de Gmail.
Al mismo tiempo, debería arribar una notificación a la casilla de correo electrónico indicando que "se ha creado una contraseña de aplicación para iniciar sesión en tu cuenta".
Podrás utilizar ahora esta contraseña pasavante asociada a tu usuario de correo electrónico Gmail desde Thunderbird o bien otros clientes compatibles con OAuth2 desde Linux (por ejemplo, funciona también con Alpine).
Cuando aparezca ahora el diálogo de la contraseña, ingresamos la contraseña de 16 dígitos creada en Googl€.
Una vez provista dicha contraseña pasavante, los clientes de correo deberían poder recibir correos y a su vez enviar mensajes. Deberían comprobar el correcto envío y recepción de correo electrónico desde dicha casilla de correo. También podrán agregar dicha contraseña pasavante al Gestor de Contraseñas de Ubuntu ("llavero"), de modo de no tener que ingresarlas toda vez que iniciemos sesión en el escritorio de Ubuntu.
Naturalmente han de notar que una vez que activado el proceso OAuth de la cuenta Google, podríamos nuevamente desactivar las Cookies en Thunderbird, porque recibir y enviar correo electrónico funcionará sin las cookies. Sin embargo, he de decirles que en caso de que el token OAuth de Gmail expirara (en algún momento futuro), el cuadro de diálogo aparecería nuevamente y habremos de generar otra contraseña pasavante.
En conclusión, Googl€ se encarga de erosionar el uso de sus servicios si no proveemos información que les permita el rastreo. No debe usarse este sistema y debe desechárselo en lo posible.
permalink
04 january 2023
¿Cómo instalo Moodle en Ubuntu?
Como profesor titular de Historia Militar en la Escuela Superior de Guerra, Juan Perón sobresalió como didacta. En el gabinete enseñó cómo instalar la plataforma de gestión de enseñanza Moodle en Ubuntu Server.
Vean cadetes, en los tiempos que corren, la enseñanza no puede detenerse. El herramental que nos ofrece el cómputo y la telemática puede y debe contribuir a las tarea de hacer de los educandos mejores hombres, pues ellos serán los dueños del porvenir.
La formación aislada no existe: debe plantearse con un método concienzudamente estudiado y aplicado por el titular, y comprendida por sus alumnos. Todo el material de cátedra, evaluación y concreción de los logros educativos no tienen sentido si quedan guardados en un libro, sin aplicarse en la vida real bajo una doctrina que también resulte iluminada. Es que el aprendizaje - por el sólo hecho de aprender "para aprobar" - no sirve. Más barato nos resultaría un calefactor de silla...
Pues bien señores, afortunadamente esta institución nos ha permitido evolucionar. Los profesores alemanes nos han provisto esta técnica a la que han llamado “elektronisch unterstütztes Lernen”, y yo nombro aprendizaje electrónico.
Poner una en el gabinete no es algo tan simple como podría parecer, ya que el mismo debe ser dotado no sólo del hardware y la infraestructura de red, sino del software de servidor, y sobre ella aplicar los conocimientos de operación. Esto - que se extiende a todo programa telemático - cobra especial relevancia cuando debe hacerse en un ámbito educativo, y sobre todo en el educativo militar, donde los resguardos y reaseguros no pueden soslayarse.
Mi puesto es el de tutor, y por tal motivo os enseñaré a desplegar en el terreno educativo operativo a Moodle.
Se trata esta de una plataforma de software liberado bajo GPLv3 orientada a la de gestión enseñanza en línea. Permite crear sitios web privados en los cuales educadores y educandos puedan lograr sus objetivos de aprendizaje.
Como toda instalación de servicios computados, debemos poner en funcionamiento un hardware-máquina, y tomar debida nota de los atributos de los software-maquina (escencialmente los nombres de usuario y las contraseñas que les corresponden. Los estamentos de este escalafón comprenderán:
Contraseña de administración de Ubuntu Server
Nombre de usuario de MySQL y la contraseña que utilizará Moodle
El nombre del administrador de Moodle y su contraseña de moodle.
Un usuario adicional de administración de Moodle y una contraseña adicional de Moodle.
1: Instalar Ubuntu Server
En este caso utilizaremos Ubuntu Server 20.04.05LTS para armar lo que llamamos siempre "pila LAMP" (servidor Linux+web Apache+base de datos MySQL+PHP). Como primer medida deberíamos instalar el Ubuntu Server si no lo tuviésemos instalado ((idealmente un SSD de al menos 120GB), proporcionando ya la contraseña de administrador de Ubuntu.
En la terminal nos aseguramos de actualizar dicho servidor con:
sudo apt update
sudo apt upgrade -y
2: Instalar Apache/MySQL/PHP
Abrimos la terminal y cargamos el PPA del lenguaje PHP7 en el servidor, mediante:
sudo add-apt-repository ppa:ondrej/php ;
sudo apt-get update
A continuación instalamos el servidor Apache y la base de datos MySQL
sudo apt install apache2 mysql-client mysql-server php7.4 libapache2-mod-php
Estableceremos la contraseña de administrador para MySQL, la cual necesitaremos en el paso 6. Esto se hace con:
sudo mysql_secure_installation
3: Instalar software adicional
sudo apt install git graphviz aspell ghostscript clamav php7.4-pspell php7.4-curl php7.4-gd php7.4-intl php7.4-mysql php7.4-xml php7.4-xmlrpc php7.4-ldap php7.4-zip php7.4-soap php7.4-mbstring
Reiniciamos Apache de manera que sus módulos se carguen correctamente en memoria:
sudo service apache2 restart
4: Descargar Moodle
Configuramos el repositorio local y descargaremos Moodle. A tal fin utilizaremos el directorio /opt del servidor.
cd /opt
sudo git clone git://git.moodle.org/moodle.git
cd /opt/moodle
sudo git branch -a
sudo git branch --track MOODLE_39_STABLE origin/MOODLE_39_STABLE
sudo git checkout MOODLE_39_STABLE
5: Copiar el repositorio local en /var/www/html/
Como configuramos un repositorio local en el paso anterior, lo copiaremos al directorio de inicio web luego de hacer las actualizaciones y aplicar cambios. Al contar con un repositorio local fuera del directorio raiz web (mo hemos hecho en /opt) nos permitirá preparar y actualizar por etapas en una manera más eficiente. Por ejemplo, si deseamos hacer cambios o agregar algunos plugins, podríamos descargar el plugin y copiarlo en el repositorio local de moodle. Luego de que agregaramos el plugins e hicieramos cualquier otro cambio, necesitaríamos editar el fichero /opt/moodle/.git/info/exclude. En dicho fichero querrá informaarle a get qué archivos/directorios excluir cuando realiza las actualizaciones cuando ejecute la actualización mediante sudo git pull. Una entrada de ejemplo podría ser el certificado mod localizado en /opt/moodle/mod/certificate de modo que dentro del fichero exclude debería agregar /mod/certificate debajo del último comentario.
Podría agregar entradas adicionales, una por línea, para cada plugin o fichero que querría cambiar. Si desease cambiar el fichero favicon.ico simplemente agregaría "favicon.ico" al fichero exclude. Cumplido esto, al ejecutar sudo git pull para actualizar Moodle a la última versión, excluirá dichos ficheros y directorios y sólo actualizará el código del núcleo de Moodle. Antes de copiar su raiz de web para actualizar, debería asegurarse y descargar y copiar sobre las últimas versiones de los plugins que hubiese agregado.
sudo cp -R /opt/moodle /var/www/html/ ;
sudo mkdir /var/moodledata ;
sudo chown -R www-data /var/moodledata ;
sudo chmod -R 777 /var/moodledata ;
sudo chmod -R 0755 /var/www/html/moodle
6: Configurar servidor MySQL
Primero cambiaremos el motor de almacenamiento a innodb y el formato de archivo por defecto a Barracuda. También necesitaremos configurar la variable innodb_file_per_table de MySQL para que Barracuda funcione adecuadamente.Para ello editaremos el fichero mysqld.cnf:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Se abrirá Nano con el archivo de configuración mysqld.cnf. En él buscamos la sección [mysqld] y bajo las configuraciones básicas "Basic Settings" agregamos la siguiente línea al final de la última variable:
Nota: MySQL Versión 8.0 ya no requiere estas tres configuraciones.
default_storage_engine = innodb
innodb_file_per_table = 1
innodb_file_format = Barracuda
Guardamos los cambios con Ctrl+o y salimos del editor Nano con Ctrl+q.
Nota: Si para servir MySQL utiliza versiones más nuevas del servidor MariaDB sobre Ubuntu 20.04, estos cambios en su fichero config reportarán un error ("mysql unknown variable 'innodb_file_format=barracuda'"), de modo que agréguelos como comentarios y no aplique estos cambios, estos valores eran recibidos por la variable default.innodb_file_format, que fue deprecada en MariaDB 10.2 y ya ha sido removida de los MariaDB más nuevos.
Reinciaremos el servicio MySQL para que los cambios de configuración cobre resultado, con:
sudo service mysql restart
Acto seguido, crearemos la base de datos Moodle y el usuario de Moodle MySQL con los permisos adecuados. Usaremos la contraseña que creamos el el paso 1.
sudo mysql -u root -p
Se presentará el prompt mysql>, y en el ingresaremos los comando de creación de base de datos:
mysql> CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Nota: Utilizaremos 'utf8mb4' para obtener caracteres UTF-8 de 4 bits con soporte completo (incluyendo Emojis). Si no lo hiciéramos, es probable que la web de adminitración de MySQL se queje con molestos errores.
Naturalmente, indicamos el usuariodemoodle y la contraseñademoodle".
mysql> create user 'usuariodemoodle'@'localhost' IDENTIFIED BY 'contraseñademoodle';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'usuariodemoodle'@'localhost';
mysql> quit;
Nota: Su usa MySQL 5.6+ al crear el usuario se puede recibir un error sobre el hash de la contraseña, por lo cual debe ajustarse la contraseña para usar el valor hash. Podrá hacerlo mediante:
mysql> SELECT password('contraseñademoodle');
Esto presentará en la terminal el hash de la contraseñademoodle, con la forma *AD51BAFB2GD003D3480BCED0DH81AB0BG1712535, querrá utilizar esto en la parte indicada como IDENTIFIED BY '
7: Completar la configuración
Para configurar el sitio PHP momentáneamente daremos permisos totales de escritura al directorio del servidor, con:
sudo chmod -R 777 /var/www/html/moodle
Abrimos el navegador web y lo dirigimos a la URL http://DIRECCION.IP.DEL.SERVIDOR/moodle
Seguimos las instrucciones de la web de configuración:
Cambiar la ruta de moodledata
/var/moodledata
Tipo de Base de Datos
Elija: mysqli
Configuración de Base de datos
Host server: localhost
Database: moodle
User: usuariodemoodle
Password: contraseñademoodle
Tables Prefix: mdl_
Revisiones del Ambiente
Esto indicará si algún elemento requerido para la ejecución de Moodle todavía no está instalado.
Presionamos Siguiente-Siguiente-Siguiente hasta confirmar la instalación.
Crear una Cuenta de Administrador del Sitio
Creamos nuestra Cuenta de Usuario Moodle que tendrá permisos de administración del sitio. La contraseña que elijamos debe contar con ciertos requerimientos de seguridad obvios.
Instalación Completa
Debemos recordar que como habíamos otorgado permisos a la raíz web para poder configurar moodle, ahora debemos revertir tales permisos para blindar la seguridad del servidor. Esto se hace ahora con:
sudo chmod -R 0755 /var/www/html/moodle
Gracias al Justicialismo ya podremos comenzar a utilizar Moodle.
Rutas de Sistema luego de instalar
Luego de instalar Moodle, deberíamos configurar las rutas de sistema. Cada entrada en Moodle tendrá su propia explicación.
Con el navegador web vamos a la página web de administración de moodle. Y vamos a Administración de Sitio / Servidor / Rutas de Sistema.
Ingresamos lo siguiente
Ruta de du: /usr/bin/du
Ruta de apsell: /usr/bin/aspell
Ruta de dot: /usr/bin/dot
...y presionamos el botón Guardar los cambios.
Protección antivirus en Moodle
Para configurar la solución antivirus del servidor, en la terminal ingresamos:
sudo mkdir /var/quarantine ;
sudo chown -R www-data /var/quarantine
Y en la web de Moodle vamos a Administración del Sitio / Plugins / Plugins Antivirus / Administrar plugins antivirus.
Activamos ClamAV antivirus. Vamos a Configuración, le aplicamos las que querramos, y presionamos Guardar Cambios.
Nota: en versiones antiguas de Moodle se tildaba "Usar ClamAV en ficheros subidos" y la ruta del antivirus ClamAV era : /usr/bin/clamscan Directorio de cuarentena : /var/quarantine y se presionaba Guardar Cambios.
Opcional
Activar Zend OpCache
Agregamos las configuraciones recomendadas de OPcache al fichero 05-opcache.ini. Lo editaremos usando Nano con:
sudo nano /etc/php7/apache2/conf.d/05-opcache.ini
Nota: In Ubuntu 16.04 opcache.ini estava localizado en /etc/php/7.0/mods-available/opcache.ini
...y le consideramos el siguiente contenido:
[opcache]
opcache.enable = 1
opcache.memory_consumption = 128
opcache.max_accelerated_files = 10000
opcache.revalidate_freq = 60
; Requerido para Moodle
opcache.use_cwd = 1
opcache.validate_timestamps = 1
opcache.save_comments = 1
opcache.enable_file_override = 0
; Si algo no funciona en Moodle
;opcache.revalidate_path = 1 ; Puede corregir problemas con rutas incluídas
; Experimental para Moodle 2.6 y superior
;opcache.fast_shutdown = 1
;opcache.enable_cli = 1 ; Acelera el cron en CLI
;opcache.load_comments = 0 ; puede disminuir uso de la memoria, podría ser incompatible con add-ons y otras apps.
Reiniciamos el servidor Apache para que surta efecto.
sudo service apache2 restart
Con esto tendremos activado Zend OpCache.
Cambiar la Raíz de Documentos
También puede instalar una interfaz gráfica para ver el estatus de carga de su Zend OpCache, aunque no está recomendado en servidores de producción:
cd /var/www/html/moodle/ ;
sudo wget https://github.com/rlerdorf/opcache-status/blob/master/opcache.php
Debemos también agregar este fichero opcache.php al fichero de configuración /opt/moodle/.git/info/exclude para que no resulte eliminado al actualizar la instalación.
Visitamos http://dirección.ip.del.servidor/moodle/opcache.php
Si no queremos que los usuarios finales tengan que ingresar http://servidor/moodle y queremos que directamente vayan a http://servidor para encontrarse con Moodle, habremos de editar la configuración de Apache para indicarle que use /var/www/html/moodle como el directorio raíz en lugar de hacerlo con /var/www/html
Abrimos el archivo de configuración de Apache y cambiamos la raíz de documentos:
sudo nano /etc/apache2/sites-available/000-default.conf
Usamos Ctrl+w para buscar la cadena por defecto:
DocumentRoot /var/www/html
...y la modificamos a a:
DocumentRoot /var/www/html/moodle
Guardamo los cambios con Ctrl+o, salimos de Nano con Ctrl+x, y una vez devueltos a la terminal, reiniciamos el servicio web Apache para que surta efecto:
sudo service apache2 restart
Nota: Si ya teníamos Moodle instalado, haremos los cambios a continuación.
Editar config.php para Moodle
En las instrucciones de instalación, uno de los cambios sugeridos para raiz de web es usar "localhost". Esto está bien para evaluar el servidor nuevo durante el deployment. Sin embargo, si queremos ver la misma máquina en la red de área local o ver el sitio desde la Internet, habremos de coambiar dicha configuración.
En el fichero config.php existe la variable ($CFG->wwwroot en se puede configurar la dirección IP privada del servidor (ej. 192.167.0.1/moodle) como webroot. Dependiendo de la configuración de la red local, suele ser mejor configurar un nombre de red en lugar de la dirección IP privada, ya que estas podrían cambiar de tiempo en tiempo.
Finalmente, si desea usar la instalación en la internet, habrá de utilizar un nombre de dominio o una dirección_ip_publica_fija/moodle como su web root.
Editamos el fichero config.php de Moodle con Nano:
cd /var/www/html/moodle/ ;
sudo nano config.php
Usamos Ctrl+w para buscar la variable $CFG->wwwroot y le asignamos http://direccion.ip.del.servidor/moodle
Documentación
Naturalmente, esto ha contemplado la creación de una puesta de campo y luego puesta a punto del servidor, en una explicación somera.
La aplicación de la plataforma en sí está suficientemente documentada, y podrán encontrar su bibliografía aquí.
¿Aprendieron? Bueno, en cualquier caso mañana les tomo prueba. El que no viene tiene cero.
permalink
03 january 2023
¿Cómo puedo leer correo QWK de FidoNet en Ubuntu?
Incluso circunscripto al ostracismo de un exilio panameño, Juan Perón ejercía tareas organizativas tendientes a su retorno a la Patria, y al uso de paquetes QWK de correo diferido de la red FidoNet en Ubuntu.
¡Trabajadores!
La contumacia y la reacción de la oligarquía no ha cejado en sus afrentas al Pueblo, y aquello que es sólo un accesorio, su Conducción.Este brutalismo demostrado no puede más que concertarnos en la acción de resistir inteligentemente, y será preciso hacerlo en todo tiempo y en todo lugar, mientras yo miro desde lejos.
Luchen y retornaré a la patria en un avión negro. Aún así no pongan el cuerpo al ñudo. Permanezan tranquilos, y vayan de /var a /home y de /home a /var. La Conducción estratégica de nuestro Movimiento es absolutamente posible gracias al empleo de correo electrónico gracias a las facilidades de la FidoNet.
Esta red de área amplia está concebida para el almacén y reenvío de correo electrónico. A pesar de los intentos de la camarilla que se hizo con el poder nos será posible intercambiar información computarizada, afianzando este sucedáneo de red social para cualquier objetivo que nos queramos plantear.
Han de saber que en su origen, esta red fue concebida como una alternativa bobbista para quienes no contaban con acceso a las redes de datos (originalmente de alcance mayormente científico-académico). A tal fin se utilizaban los inefables tendidos telefónicas nacionales con el indispensable nexo de módems. La esquematización operativa soslaya por ello llevar al mínimo absoluto el costo de las comunicaciones de larga distancia (pagaderas individualmente en función del tiempo y la distancia de enlace).
Desde el punto de vista funcional, la red se haya jerarquizada en una estructura que imita el despliegue geográfico de las líneas telefónicas: la ubicación en la red se explicaba según una sintaxis numérica con puntuación divisiva, que permite remitir mensajes de texto plano a un nodo particular dentro de la red. Este direccionamiento sigue la sintaxis Zona:Red/Nodo.Punto, donde:
Zona: Representa la zona continental
Norteamérica
Europa
Oceanía
Latinoamérica
África
Asia
Red era el código de área local de la ciudad (o un área más grande si había poca densidad de nodos)
Nodo era un host particular dentro de la red local (normalmente una BBS)
Punto (opcional). representaba el identificador del usuario no registrado (es decir, eran usuarios de BBSs no listados).
Así, la dirección de ejemplo 4:900/125.42 correspondería al usuario 42 del host número ciento veinticinco ("Macondo BBS") dentro de la red local de Capital Federal, Argentina (red 900), que se haya en Latinoamérica (zona 4).
Ahora bien, la red FidoNet sirve en estos casos donde la Lucha, que es una cosa penosa, debe llevarse por todos los medios. Existe aún, y podremos emplearla gracias a las BBS que aún quedan. Los usuarios - conocidos como Puntos o "Points" se conectan a las hosts para descargar y subir paquetes de datos que contenían su correo electrónico y noticias. La participación social primordial en FidoNet está dada por la intervención en salas temáticas de conversación asíncrona por medio del E-mail. Para ahorrar teléfono se descargaba el correo QWK empaquetado y se lo leía "fuera de línea" con un lector de correo fuera de línea.
Afortunadamente, podremos utilizar Ubuntu para hacer lo mismo de forma sencilla y sin gastar una chirola en facturas telefónicas, ya que actualmente muchas BBS que ofrecen servicio de host de Fido están al alcance de Telnet o SSH a través de la red Internet. Para tal fin debemos instalar y utilizar el cliente de BBS Telnet SyncTerm.
Además, instalaremos el lector de correo fuera de línea MultiMail. Para instalar el mismo abriremos una terminal con Ctrl+Alt+T e ingresando los siguientes comandos de organización:
sudo apt update ;
sudo apt install multimail
Podremos usar Syncterm para conectarnos por telnet a una BBS que ofrezca servicio de FidoNet, como MomiaBBS (telnet momiabbs.no-ip.info -p 2323) o DockSud BBS (telnet bbs.docksud.com.ar -p 23).
Una vez accedida a la BBS que oficie de nodo de Fidonet, podremos listar las áreas que nos interesan.
La mayoría de las salas de la red Fido se encuentran en inglés, pero las salas que comienzan con "esp" se encuentran en castellano. Entre estas están:
esp.argentina
esp.adivinanzas
esp.ajedrez
esp.avisos
esp.cine
esp.ciencia
esp.chistes
esp.comics
esp.ecologia
esp.emuladores
esp.fidonet
esp.fudam_fido
esp.politica
esp.pruebas
esp.historia
esp.literatura
esp.linux
esp.linux.nue
esp.rol
esp.seti
esp.software
esp.seguridad
esp.softbbs
esp.sexo
esp.sonido
esp.trueque
esp.newsoft
esp.windows
Conforme hayamos seleccionado los números de las áreas, podremos descargar el paquete QWK que compila los mensajes de las mismas.
Esto se realiza a través de las facilidades de descarga por Zmódem del programa de comunicaciones. La descarga telefónica se lleva a cabo en el tiempo típico de estos paquetes, que podía ser de unos 30 segundos. El archivo .QWK debería quedar copiado en nuestro directorio ~/home.
Tras colgar, podremos leer el paquete QWK con MultiMail. Podremos ejecutar dicho lector fuera de línea.
mm
La vez primera que ejecutemos mm, este nos solicitará contar con el fichero de configuración ~/.mmailrc y interrogará si queremos editarlo, lo cual suele ser innecesario y presionamos y. Nos encontraremos con un programa con interfaz de usuario ncurses, aunque el lector estará vacío; podremos salir con la tecla q.
Naturalmente, hemos de copiar el paquete de correo al directorio de descargas de MultiMail, y podríamos hacerlo con:
cp MOMIABBS.qwk ~/mmail/down/
Ahora, al correr MultiMail podremos encontrar el paquete QWK descargado que ansiamos leer.
Una vez abierto el paquete QWK, se nos presentarán las secciones o salas contenidas en él, indicando la cantidad de correos totales y aquellos sin leer.
Podremos abrir fuera de línea los correos personales que nos hubiesen dirigido.
Una vez en el lector, podremos visualizar fuera de línea el correo, tal como se hacía en la era de Oro de la Fidonet.
También podremos revisar los correos no leídos y ponernos al tanto de todas y cada una de las salas seleccionadas previamente.
O bien leer los correos que deseemos.
Gracias a todos estos procedimientos, podremos continuar participando al día de hoy en la red FidoNet y contar con los clásicos paquetes diferidos QWK en nuestro Ubuntu y en cualquier parte del mundo.
permalink
02 january 2023
¿Cómo configuro la hora en Ubuntu?
En su carta del 25 de septiembre de 1970 al líder de la UCR-P Ricardo Balbín, Juan Perón propone instrumentar La Hora del Pueblo, y expone cómo configurar la hora en Ubuntu.
(...)
Puerta de Hierro, 25/9/70
Al Dr. Ricardo Balbín
Estimado compatriota:
El señor Secretario General del Movimiento Nacional Justicialista, Don
Jorge Daniel Paladino, me ha enterado de la conversación que ha
mantenido con Usted y de las ideas por Usted sustentadas con referencia
a la situación que vive el país y deseo manifestarle que las comparto
totalmente.
Tanto la Unión Cívica Radical del Pueblo como el Movimiento Nacional Justicialista son fuerzas populares en acción política. Sus ideologías y doctrinas son similares y debían haber actuado solidariamente en sus comunes objetivos. Nosotros, los dirigentes, somos probablemente los culpables de que no haya sido así. No cometamos el error de hacer persistir un desencuentro injustificado.
Separados podríamos ser instrumentos, juntos y solidariamente unidos, no habrá fuerza política en el país que pueda con nosotros y, ya que los demás no parecen inclinados a dar soluciones, busquémoslas entre nosotros, ya que ello sería una solución para la Patria y para el Pueblo Argentino. Es nuestro deber de argentinos y, frente a ello, nada puede ser superior a la grandeza que debemos poner en juego para cumplirlo.
Tanto Usted como yo ‘estamos amortizados’, casi ‘desencarnados’. Ello nos da la oportunidad de servir a la Patria en los momentos actuales, ofreciendo una comprensión que nos haga fuertes para enfrentar, precisamente, la arbitrariedad de los que esgrimen la fuerza como única razón de su contumacia.
La Liberación del Pueblo implica consagrarnos a la creación de las herramientas que la hora imponga. Es por ello que hemos envisionado La Hora del Pueblo. Es un instrumento meramente táctico que el comando estratégico peronista no digita. Yo simplemente intervengo con mi teletipo y un magnetófono. Pero para ser efectivo tengo que tener bien en claro las hora de la CGT de allí y la local de Puerta de Hierro. Usted traerá chizitos.
No es secreto para nadie que podremos dar rienda suelta al manejo de la hora del Pueblo desde la terminal. Para ello abriremos una con Ctrl+Alt+t e introduciremos los comandos necesarios.
date
En el caso de los sistemas Ubuntu superiores 18.04LTS y superiores, podré ingresar el programa de control de fecha y hora:
timedatectl
Ahora bien, el programa nos indicará qué hora tenemos configurada. Suponiendo que lo quiera en la hora de la CGT, podría indicar:
Local time: dom 2022-04-17 11:37:57 -03
Universal time: dom 2022-04-17 14:37:57 UTC
RTC time: dom 2022-04-17 14:37:56
Time zone: America/Argentina/Buenos_Aires (-03, -0300)
System clock synchronized: yes
NTP service: active
RTC in local TZ: yes
Warning: The system is configured to read the RTC time in the local time zone.
This mode cannot be fully supported. It will create various problems
with time zone changes and daylight saving time adjustments. The RTC
time is never updated, it relies on external facilities to maintain it.
If at all possible, use RTC in UTC by calling
'timedatectl set-local-rtc 0'.
Como vemos, el reloj está atrasado 1 segundo.
En los sistemas de tipo UNIX es posible configurar la hora por el método estandar del comando date. Por ejemplo:
sudo date +%T -s "14:37:57"
o bien cambiamos la fecha con
sudo date +%Y%m%d -s "20220417"
Para ver el reloj de sistema, podíamos utilizar:
sudo hwclock
Si contábamos con una conexión a internet, podríamos utilizar el servicio NTP, que hace uso de relojes atómicos sincronizados a través de Internet. Para ello ingresaríamos:
sudo hwclock -r
Sin embargo, el demonio correspondiente a systemd nos permite hacerlo con timedatectl. Para poner una hora específica en el RTC del sistema podría podría ingresarla con set-time hh:mm:ss o set-date aaaa-mm-dd:
timedatectl set-time 14:47:57
Sin embargo, el problema anunciado no es atraso de un segundo, sino en que el sistema de cómputo particular está configurado para leer la hora de un reloj de la computadora configurado según la zona horaria local. Esto significa que el reloj de la computadora está sincronizado con la hora local del lugar de residencia en lugar de estarlo con la hora universal "UTC".
Esto alberga algunos inconvenientes: la zona de tiempo interna del sistema variaría indefectiblemente al trasladar geográficamente el equipos (caso que nuestro equipos sea portátil y viajemos en el Avión Negro), al igual que el uso estacional de acuerdo a los horarios de verano si estos aplican. En cualquier caso esto provocaría "huecos" en la hora del sistema, y en consecuencia en el registro de archivos.
Esta configuración "fija" tenía sentido en equipos de permanencia geográfica fija, sin acceso a la red de datos y sin acceso remoto, o incluso en aquellos sistemas de cómputo en los cuales su localización debía permanecer como oculto secreto.
Normalmente no es algo gravísimo en un equipo particular, pero que sí podría provocar paradojas temporales que perturben el funcionamiento armónico de un servidor, sobre todo en acciones pre-programadas con fecha y horarios.
Sin embargo, para la mayoría de los casos se propone hoy posible ajustar el reloj de forma dinámica con un servicio de red conectado a un reloj atómico en hora universal UTC, e indicandole al sistema en qué zona horaria nos encontramos. En el caso de GNU con Linux, las zonas horarias se encuentran divididas geográficamente en la carpeta /usr/share/zoneinfo/. Naturalmente que el sistema operativo compensará las diferencias entre el reloj calibrado en UTC conociendo el lugar geográfico en el cual nos encontramos.
Para lograr tal ajuste, debemos contar con una conexión a internet válida. Luego ingresamos.
timedatectl set-local-rtc 0
También podríamos desactivar el ajuste de reloj automático por red con:
timedatectl set-upt no
...y luego lo volvemos a activar:
timedatectl set-upt yes
En tal puesta en línea, "se pondrá en hora" con un reloj atómico de referencia a través de internet. Como vemos, al ingresar el comando timedatectl, ahora nos informa:
Local time: dom 2022-04-17 11:46:59 -03
Universal time: dom 2022-04-17 14:46:59 UTC
RTC time: dom 2022-04-17 14:46:59
Time zone: America/Argentina/Buenos_Aires (-03, -0300)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Ahora bien, cada usuario del servidor podrá únicamente alterar la hora local si desea proveer una zona horaria.
En el caso de querer hacerlo desde la terminal podremos utilizar también timedatectl. Para configurar la hora del servidor en tiempo universal, introducimos:
timedatectl set-timezone UTC
Ahora bien, los usuarios del sistema podrán reglar sus horas convirtiéndolas a hora local, ya sea a través de su entorno de escritorio o bien desde su sesión de intérprete de comandos.
En el primer caso es muy simple: cada usuario podrá elegir la configuración de fecha y hora local (Sistema/Preferenias/Hardware/Gestor de la hora y la fecha):
Presionamos el botón Editar, y elegimos una localización en el planisferio o bien la buscamos una ciudad o zona.
En caso de querer utilizar la terminal, primero listaremos qué zonas horarias se encuentran disponibles con:
timedatectl list-timezones
Se listarán todas por localización geográfica alfabética específica, o bien por denominación genérica (por ejemplo, el área específica America/Argentina/Buenos_Aires o bien la zona horaria Etc/GMT+3 (lo que indicaría que la hora de Greewich Village está adelantada tres horas con respecto a la banda horaria). Una vez que encontramos la que deseamos, podremos abandonar el listado con q.
Finalmente, podremos instruir la zona de tiempo deseada a Ubuntu, mediante:
timedatectl set-timezone Etc/GMT+3
o bien:
timedatectl set-timezone America/Argentina/Buenos_Aires
Podremos configurar ahora la banda horaria deseada en nuestro intérprete de comandos. Por ejemplo, le podríamos agregar al fichero
nano ~/.bashrc
y agregarle el siguiente contenido que especifique la hora local:
export TZ='Etc/GMT+3'
Nota: En BSD esto puede especificarse como UTC-3.
Esto tiene sentido si los usuarios acceden remotamente al sistema desde localizaciones fijas, etcétera.
Encuadrados en estas modificaciones, la Hora del Pueblo se presentará correcta en nuestro sistema, y se actualizará por internet, toda vez que las funcionalidades asociadas a ella - tal como pantalla en modo nocturno, reportes de tiempo, etcétera - se harán agradablemente patentes.
El compañero Paladino podrá ampliarle mis pensamientos al respecto. Le ruego que, con mis saludos de compatriota, quiera aceptar mis mejores deseos.
Juan Domingo Perón
permalink
01 january 2023
¿Cómo instalo el paquete DEB de Firefox desde PPA evitando el Snap en Ubuntu 22.04LTS?
¡Trabajadores!
Ante la ignominia de la opresión y la incorporación de los vilipendiados snaps, ¡podremos hacer tronar el escarmiento!
No es secreto para nadie que a partir de Ubuntu 22.04LTS, Firefox viene incorporado en los inefables Snaps. Son estos sucedáneos de máquinas virtuales un enjundio que bajo el pretexto de facilitar la distribución de paquetes de software al programador, no hacen más que cargar y enlentecer nuestro sistema.
Es por este motivo que todos los peronistas han preferido utilizar paquetería Deb, en un ejemplo de liberación.
A pesar de las campañas de la insidia, debemos saber y propalar que es simple reemplazar el lento paquete Snap que viene de fábrica en Ubuntu 22.04LTS con un Deb oficial provisto por los compiladores del equipo de desarrollo Mozilla Team. Esto nos permitirá instalar de Deb el Firefox, con lo cual tendremos tiempos de inicio muy inferiores.
A tal fin abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes comandos de organización:
sudo snap remove --purge firefox ;
wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null ;
gpg -n -q --import --import-options import-show /etc/apt/keyrings/packages.mozilla.org.asc | awk '/pub/{getline; gsub(/^ +| +$/,""); print "\n"$0"\n"}' ;
Deberíamos obtener la firma de repositorio "35BAA0B33E9EB396F59CA838C0BA5CE6DC6315A3", que confirma su autenticidad.
echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null ;
echo '
Package: *
Pin: origin packages.mozilla.org
Pin-Priority: 1000
' | sudo tee /etc/apt/preferences.d/mozilla
E instalamos el navegador desde el repositorio oficial de paquetes de Mozilla:
sudo apt update ;
sudo apt install firefox
Con esto se descargarán los paquetes del repositorio Oficial de Mozilla.
Repositorio Mozillateam PPA
Durante un tiempo, el repositorio hobbista semioficial era el PPA Mozillateam. Seguir este temperamento ya no es necesario, y queda sólo a recuerdo histórico del repositorio mozillateam. Los antiguos comandos eran estos:
sudo add-apt-repository ppa:mozillateam/ppa -y
sudo apt update
sudo apt install -t 'o=LP-PPA-mozillateam' firefox firefox-locale-es
Para darle prioridad al antiguo repositorio PPA Mozillateam sobre el Snap de Canonical, se editaba el fichero de configuración con:
sudo nano /etc/apt/preferences.d/mozillateamppa
...y al fichero de configuración que se nos abría le pegábamos este contenido:
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501
No debemos olvidar guardamos los cambios y cerrar el editor GNU Nano con Ctrl+o y Ctrl+q.
Luego correr un update para guardar cambios.
sudo apt update
Opcionalmente podremos crear o modificar los accesos directos o lanzadores al mismo, para que funcionen en lugar de los de los infames Snaps. Para ello hacemos clic sobre el lanzador y elegimos Propiedades. En la versión snap el comando de inicio del ícono se indica como "env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/firefox_firefox.desktop /snap/bin/firefox %u". Simplemente hemos de reemplazar esto con "/usr/bin/firefox %u".
Ya podremos iniciar Firefox haciendo clic en el acceso directo. Si vamos a Propiedades / Acerca de Firefox, debería indicarnos que es el Firefox para Debian.
Si Firefox sale en inglés, podremos pasarlo a castellano buscando la lista de idiomas en sus preferencias.
Agregamos el paquete de idioma alternativo en español.
Y tras aceptarlo Firefox quedará ya en castellano.
Naturalmente, como Ubuntu 22.04LTS con Gnome Shell, podremos agregar las extensiones de Gnome Shell solicitándolas como Gnome Shell Extensions (https://extensions.gnome.org/).
¡Con esto habrán logrado la Justicia Social de eliminar el lento snap de Firefox de Ubuntu 22.04LTS!
permalink
31 december 2022
¿Cómo optimizo Chromiun para que funcione en equipos de bajos recursos?
Durante su exposición sobre la relación entre los sueldos y salarios en el edificio de la CGT, Juan Domingo Perón expone cómo limitar el uso de recursos de Chromiun en Ubuntu.
¡Trabajadores!
(,..)
Los humildes de la Patria han de recibir todos los beneficios que pueda ofrecernos nuestra desinteresada labor y la conciencia de grandeza que alberga el Pueblo. Esto lo merecen los jóvenes, pero también estos estos carcamanes quienes como yo - ya se tienen que hacer la carmela.
Esto incluye también al hardware más humilde, so pena de verlo caer en la ignominia de la comprensión.
No pasará desapercibido a sus cálidos corazones que un equipo de escasa potencia como puede ser un netbook muchas veces guarda en su génesis las limitaciones propias de un equipo minimalista. No sólo potencia de cómputo humilde, sino discos rígidos mecánicos y escasas cantidades de memoria de trabajo, la RAM.
Todos estos ejes son plausibles de actualizarse si nos proponemos la acción como lo hizo la Fundación Eva Perón: llevar a quien lo necesite la asistencia social que otorga nuestro Movimiento Justicialista.
Es sabido que los discos rígidos mecánicos de 5400 revoluciones por minuto no son algo "para tirar cohetes". Si tenemos ganas de instalar de cero, no será mala idea reemplazarlos ya con un disco de estado sólido provisto por la Fundación. Pasaremos de tener una lanchita put-put a contar con un verdader Pulqui II a reacción.
Por otro lado, podremos ampliar la memoria RAM. Normalmente estas netbooks podían venir munidas de un escaso Gigabyte de memoria. Esto es un chiste que hace caso a la visión Billgatista del cómputo, donde "640K deberían alcanzar para todo el mundo". Pero mejor que decir es hacer: desatornillando la puertita de abajo de la netbook (algunas requieren sacar el teclado), se puede intercambiar el SO-SIMM original de 1GB de memoria RAM, reemplazandolo por otro de 2GB o - en el mejor de los casos - incluso hasta 8GB. Con 4GB u 8GB tendremos un equipo con GNU/Linux que nos ofrezca la dignidad del cómputo de potencia.
Ahora bien, este aumento depende del modelo de Netbook. Lamentablemente no son extrañas las situaciones - en un mundo donde la obsolescencia se planifica pensando en el lucro - en el cual la o las ranuras de memoria y la placa madre de dichas máquinas no permitan superar cierta cantidad de memoria dada. Muchos de estos equipos portátiles están limitados por diseño a los 2GB o 4GB, donde el primer caso reviste un desafío acuciante.
Vean señores,contar con 2GB es siempre mejor que 1GB, pero el avance de los tiempos y el consumo mismo de las redes de datos nos impondrá la necesidad de un pronto trasvasamiento generacional que aplique también al hardware.
Existen, sin embargo, ocasiones donde esto ya es difícilmente posible, y para ello hemos de hacer efectivos los Derechos de la Ancianidad. Todo lo que haremos debe estar pensado en un minimalismo funcional que requiera el menor esfuerzo a la máquina. Una netbook con 2GB aún puede ser útil, pero su talón de aquiles sin duda estará en el navegador Web.
Afortunadamente, aún podremos intentar ciertas configuraciones de nuestro navegador Chromiun para que omita opciones de alto consumo, y que nos permita un mejor uso crítico para sitios webs livianos y conscientes del bajo consumo de recursos.
Para ello abrimos una terminal con Ctrl+Alt+T y abrimos con un editor el fichero de configuración para usuario del navegador Chromiun. Por ejemplo:
nano ~/.config/chromium-flags.conf
Si ya hemos modificado dicho fichero con configuraciones, este debería contener información. De lo contrario, es muy probable que esté vacío. En cualquier caso agregamos al final del fichero el siguiente contenido:
Modificado por peron para netbooks poco potentes:
--ignore-gpu-blocklist
--enable-gpu-rasterization
--enable-zero-copy
--disable-sync-preferences
--disable-reading-from-canvas
--disable-smooth-scrolling
--wm-window-animations-disabled
--enable-low-end-device-mode
Guardamos los cambios con Ctrl+o y cerramos el editor con Ctrl+x.
Naturalmente, para que estos cambios específicos para Chromiun surtan efecto, hemos de reiniciar dicho navegador.
Para navegar con Chromiun con estas cantidades limitadas de memoria, también es recomendable pensar en un sistema operativo más pistero posible. Window$ quedará desterrado para siempre, y apuntaremos a un Linux que de cuenta de los mínimos consumos. Huayra GNU/Linux puede ir bien, pero también Trisquel (dependiendo del chipset de Wifi) o Linux Lite. En todo caso, siempre recomiendo no utilizar más de dos solapas para navegar.
Si aún con esto nos queda chico, siempre podremos reemplazar Chromiun con el pináculo de la navegación mínima, el browser para terminal elinx. Con sólo 2 megabytes de consumo, este nos permitirá navegar desde cualquier lado.
permalink
30 december 2022
¿Cómo utilizo TOPS-20 "TWENEX"?
El 17 de marzo de 1953 Juan Perón inaugura la Universidad Obrera Nacional, cuyas facultades regionales permitieron instrumentar una política de crecimiento educativo. En la primer Clase Magistral, el presidente enseñó cómo utilizar remotamente TOPS-20, el sistema operativo basal de la cultura Hacker conocido como TWENEX.
(...)
Compañeros:
Invitado por el decanato de esta casa para dirigiros la palabra en este acto, no he querido preparar ningún discurso. Yo soy de los que creen que la verdad habla siempre sin artificios y, en consecuencia, prefiero conversar con los amigos que me escuchan, que espectarles un discurso, quizás muy lleno de adornos, pero muy falto de fondo y de sinceridad.
No escapará la comprensión de los compañeros que me escuchan cual es la emoción que me embarga al iniciar los cursos de la primera Universidad Obrera de nuestra patria. Probablemente podrá haber muchos que sientan una inmensa satisfacción al disponer de esta nueva casa de estudios en esta Nueva Argentina, pero no habrá ninguno que la sienta con más sinceridad y con mayor profundidad que yo mismo, que en 1945 entreví la posibilidad de desarrollar en esta forma una mayor elevación cultural de nuestro pueblo.
Cuando hablamos de la justicia social no dijimos que había que llevar solamente un poco más de dinero a los hogares del pueblo argentino o un poco más de comida a sus hijos; hablamos también de nutrir más abundantemente el alma y la inteligencia de nuestro pueblo. No es un fenómeno nuevo que en las etapas en que la humanidad se ha dedicado a explotar las masas como carne de cañón en la guerra o como brazo de trabajo en la paz, las clases dirigentes no se hayan dedicado también a hacerles faltar la necesaria cultura y preparación. Siempre el pueblo ha sido una víctima privada de felicidad, de alimento y también de cultura y ciencia. Por eso la justicia social, como nosotros la entendemos, no consiste solamente en dar a nuestro pueblo lo material, sino también en prepararlo intelectual y espiritualmente.
La formación de universidades de carácter técnico en el país presupone, no solamente la formación de un técnico, sino también la conformación de un ciudadano de la Nueva Argentina. La ciencia y la cultura deben servir a las virtudes de los hombres y de los pueblos, sino serán siempre mal empleadas.
Cuando en el estudio de los numerosos problemas a que el panorama interno e internacional nos empuja en los momentos presentes encontramos a cada paso un ejemplo que confirma lo que termino de decir. Cuando vemos que la política internacional de las naciones es un medio para preparar la guerra, se nos está demostrando que la política internacional está en manos de malvados. Cuando la política interna de los países, en vez de servir para la felicidad del pueblo y la grandeza de la Nación, se desvía hacia el servicio de una clase dirigente, mediante la explotación del pueblo, de su miseria o de su desgracia, estamos viendo que la política interna está en manos de malvados. Cuando la ciencia se dedica a los progresos para exterminar a la humanidad y no para servir a su felicidad y a su grandeza, estamos viendo que la ciencia también está en manos de malvados.
Lo que nosotros queremos, en esta Nueva Argentina, es que la ciencia y la cultura sean del pueblo, y que el pueblo esté formado por hombres que amen a los hombres y no que preparen su destrucción o su desgracia. Cuando la cultura y la ciencia, instrumentos maravillosos de la humanidad, estén al servicio del bien, manejados por hombres buenos y prudentes, recién podremos decir que la ciencia y la cultura son elementos positivos y no negativos de la humanidad. Y eso no será posible ni realizable hasta que la ciencia y la cultura estén en manos del pueblo y solamente del pueblo.
Por esa razón, nosotros, en nuestros planes de gobierno, luchamos por una ciencia y una cultura populares.
No podemos decir que un país sea culto ni tenga gran adelanto en su ciencia, porque cuente con tres, cuatro o diez sabios u hombres cultos, mientras el resto es un mudo y torpe rebaño de ignorantes. La cultura del pueblo está en que, aún cuando no poseamos ningún sabio ni ningún hombre extraordinariamente culto, tengamos una masa popular de una cultura aceptable. Por eso hemos establecido entre nuestros objetivos, que tanto la cultura como la ciencia son elementos al servicio del pueblo y esgrimidos por la mano del pueblo.
Esta Universidad Obrera pone un jalón de avance en la cultura social del pueblo argentino. Pone, quizás, uno de sus más importantes jalones, porque da amplitud y extensión a la cultura popular, y porque sus puertas están abiertas a todos los hombres del pueblo que sientan la necesidad de elevar su cultura; está abierta a todos los hombres y mujeres que tengan inquietudes intelectuales y quieran realizarlas.
Las universidades argentinas, por otra parte, son todas de estas características; pueden los hombres humildes del pueblo ir a cualquiera de las universidades argentinas, donde recibirán el mismo tratamiento, sean ricos, sean pobres, sean hijos de poderosos o sean hijos de humildes hombres del pueblo. La cultura que es el pan del espíritu y el pan de la inteligencia, no se le puede negar a ningún hombre del pueblo en un país que se sienta civilizado.
En 1944, cuando lanzamos la primera disposición estableciendo la organización de la mano de obra y de la capacidad técnica para la industria argentina. Fue entonces, que pensamos en que nuestros obreros no habían de formarse más en el dolor del taller o en el abuso patronal de los aprendices de otros tiempos, explotados y escarnecidos, en los lugares mismos de trabajo que ellos deber amar y enaltecer. Fue entonces cuando dijimos: ¿cómo es posible que un médico, un abogado, un militar se formen en una escuela donde el Estado les paga sus estudios y un pobre obrero que no tiene medios, que vive en la miseria, tenga que ir a aprender en el dolor del taller o en el maltrato que recibe de sus patrones? Y de esa idea surgieron las escuelas de orientación profesional donde nuestros muchachos, respetando y haciendo respetar los lugares de trabajo, debían ir conformando el espíritu de la mano de obra argentina, para que después, en la combinación de las concepciones técnicas y de nuestras máquinas, pudieran surgir los productos industriales perfectos, como hay que perfeccionarlos hoy para que sean útiles.
Habíamos observado en todos los horizontes del mundo una limitación inaceptable: operarios que no tenían otra suerte que morir de operarios, después de sufrir y luchar durante toda su existencia sin ninguna posibilidad de progreso. Entonces pensamos que era necesario hacer posible que esos muchachos tuviesen sus escuelas de aplicación donde fueran cumpliendo etapas técnicas de progreso.
El caldo de cultivo más extraordinario para que proliferen clases de pensamientos y de doctrinas extremistas y otras ideas extrañas, está justamente en la limitación del horizonte de aspiraciones de la clase trabajadora. Los hombres del pueblo – todos los hombres – deben tener ampliamente abierto el horizonte de aspiraciones para los que sean capaces. Y en esta tierra nosotros hemos afirmado que cada uno de los ciudadanos argentinos que durante la vida acumule méritos suficientes para llegar a ser dirigente máximo de la República y presidente de la Nación, si es necesario.
Para que esto no sea una mentira criolla, es necesario brindar las posibilidades para que cada uno se realice a sí mismo; para que cada uno tenga en sus manos la posibilidad de ir ilustrándose y llenando los espacios culturales de su imaginación y de su inteligencia, en la medida de su capacidad.
Yo he sido profesor de Historia. Esta es importante pues nos permite comprender el pasado para estudiar el presente, y avisorar - por extrapolación - lo que podría suceder en el futuro. Un historiador militar ha de contar entonces con todo el influjo informativo que le permite la biblioteca, y también notar las condiciones actuales del Arte de la Conducción. Es este proceder el que nos hará peritos.
Sin embargo, lo mismo también aplica al arte del cómputo, que también se enseñará aquí. Vean señores, los sistemas GNU con Linux actuales no son mas que una ramificación que los tiempos han dado de otros sistemas anteriores. La Evolución - tan innegable como adecuada - es la que nos coloca en una senda de avance y progreso, una que en el caso de la informática tiende a la velocidad y al acceso irrestricto de la información electrónica.
Pues bien señores, TOPS-20 - más conocido como "TWENEX" - consistió en un sistema operativo de tiempo compartido de 36 bits desarrollado por DEC desde 1970 para sus mainframes de la serie DEC PDP-10 ampliados con paginado de memoria. De su parcial inspiración creció UNIX, y también encontramos su propia génesis en el anterior sistema TENEX - entorno que la compañía BBN había programado insatisfecha con el MONITOR (luego TOPS-10) - software "oficialísimo" de la DEC para sus PDP-10.
Las grandes posibilidades en el uso de redes de datos ofrecidas por las PDP-10 con "TWENEX" lo convirtieron en uno de los sistemas operativos de tiempo compartido mas influyentes, y el favorito de la era de los 36 bits (c1970-1985). La interactividad, aunada a un manejo excelente de las técnicas de compilación cruzada le permitieron ser incubadora de los Unix y BSD (mayormente de 16 y 32 bits), a la vez que del Justicialismo en red, el movimiento del software libre, la colaboración y cooperación en línea, etc.
Indudablemente que estos sistemas operativos del ayer, cimiento de la Cultura Hacker, pasarían al olvido si no fuese por la labor de las Organizaciones del Trabajo. En tal aspecto es encomiable la labor de TWENEX.ORG, parte del cluster de la SDF, de shell público. Esta organización sin fines de lucro cuenta desde hace más de dos décadas con una propuesta de emulación (denominada "Panda") del TWENEX, pero ha concluido la puesta en línea de un servidor TOADS-2 sobre hardware real accesible en línea. Esto permite a los Trabajadores correr el antediluviano TOPS-20.
Se completó la puesta en línea de un sistema TOPS-20 en la SDF.org, que permite acceder remotamente a dicho sistema operativo, como invitado o como usuario activo.
Tutorial de TWENEX
Indudablemente acceder remotamente a un sistema operativo nos salva de tener que instalarlo en nuestro propia máquina. Por tanto, os instruiré gracuas a las facilidades del Proyecto TWENBX.ORG. Indudablemente que será de suma utilidad del Manual de Usuario de TOPS-20.
Acceder a TWENEX.ORG
se puede acceder como usuario invitado desde Linux utilizando Shell Seguro (SSH), mediante:
ssh twenex@sdf.org
Al establecerse en enlace se presentará la pantalla de registro en la máquina TOAD-2 “KANKAN” de TWENEX.ORG:
No bien recibamos en el terminal el prompt de sistema “@”, podrás ingresar como “usuario invitado nuevo”. Para ello introduce NEW seguido de la tecla INTRO. Cuando se te solicite la contraseña (“password?”) ingresa también NEW.
Salir del sistema TWENEX
Podrás usar KJOB para salir del sistema TWENEX.
Registrar un usuario
Podremos solicitar la creación de una cuenta usuario registrado de TWENEX en http://www.twenex.org/mkacct/, proveyendo el Nombre de Usuario deseado (llamado "LOGIN") - una casilla de correo electrónico válida - y un nombre completo. Recibirás un correo electrónico indicando el alta de tu LOGIN, y te será proporcionada una contraseña pasavante. Una vez cumplimentado esto, al acceder a TWENEX.ORG y recibir el prompt @ podremos indicarlos.
Para cambiar la contraseña pasavante provista por una contraseña propia habrán de utilizar el comando
SET DIRECTORY PASSWORD
…donde LOGIN habrá de ser reemplazado por tu nombre de usuario (debes conservar el uso de <>). Deben evitarse letras acentuadas, los espacios y y eñes en la contraseña.
Comandos Básicos de TOPS-20
En TOPS-20 son importantes los caracteres de control para manejar el flujo de datos a tu terminal.
Control Resultado
CTRL-S detiene (pausa) la salida de la terminal.
CTRL-Q continúa con la salida en la terminal.
CTRL-O ignora la salida de la terminal
CTRL-U borra lo ingresado.
CTRL-C sale de un trabajo.
CTRL-F autocompleta (intente también)
CTRL-T Presenta el Status del trabajo
CTRL-\ Cuando ejecute el comando 'LOGOUT' use esto para cerrar la sesión TELNET.
Intérprete de comandos EXEC
El intérpretes de comandos de nivel usuario de TOPS-20 se llama EXEC. Al arrancar TOPS-20, este correrá ficheros de autoejecución localizados en vuestro directorio de usuario. El fichero básico es LOGIN.CMD.
El prompt del sistema TWENEX estará configurado como:
[KANKAN] PUBLIC:<~>@
Comandos no interactivos en EXEC
Los comandos más simples no son interactivos; se trata de programas que entregan un resultado directo en la terminal. Veamos algunos:
En TOPS-20 podrá utilizarse el programa TYPE que cumple similar función al cat de GNU: presentar en pantalla el contenido de un fichero. Por ejemplo:
TYPE LOGIN.CMD
mostrará el contenido de este fichero por lotes de sistema - en el cual el ; sirve para comentar, de la misma forma que se utiliza el # en Unix. Este podría ser el siguiente:
Como TOPS-20 es un sistema multiusuario a tiempo compartido y en línea, podrás usar SYSTAT para ver quién se encuentra conectado.
TWENEX podría llenar la pantalla de vuestra terminal con la información solicitada. Al llenar la pantalla, podréis continuar la presentación de más información con Ctrl+q. Este comportamiento es un remanente de la época de las teletipos, donde se imprimía un poco y era posible cancelarlo. De momento la dejaremos así, luego podremos alterar este proceder según convenga.
Podremos emplear el comando DAYTIME para ver la fecha del Reloj de Tiempo Real (RTC).
Autocompletado con Esc
EXEC ha sido influyente por contar con reconocimiento de tecla Escape, similar a la tecla Tabs en Bash. Podrán utilizarla para autocompletar o presentar solicitudes (“noise words”) de los comandos parcialmente escritos. Imaginemos desear ingresar el extenso comando INFORMATION (ABOUT) MONITOR-STATISTICS, para lo cual podríamos escribir:
infor tecla ESCAPE mon tecla ESCAPE
…EXEC terminaría "de tipear lo necesario". Tras comprobar los propuesto, produciremos la introducción de la orden con la tecla Intro:
Ayuda con ?
Otra opción recordada de EXEC fue su operador del signo de interrogación ?. Al presionar la tecla ? (no es necesario oprimir ENTER con ella), EXEC devolverá la ayuda o bien las opciones o sufijos que disponibles para el comando TWENEX propuesto.
Por ejemplo, la opción de largo de la terminal permite identificar el largo de las líneas de la termimal antes de que pause automáticamente. Usualmente estas eran 24 líneas.
terminal (FEATURE OR TYPE) page (MODE) ?
Las palabras entre paréntesis (FEATURE OR TYPE, MODE) eran palabras de guía, y se hayan incorporadas en el intérprete para producir su autocompletado presionando la tecla Escape.
Por ejemplo, para el caso anterior, podrás hacerlo escribiendo:
TER [ESCAPE] page [ESCAPE] ?
Será adecuado conocer el equivalente a carpetas o directorios: la “Estructura” de TOPS-20. Dispongamos de comandos no interactivos para ver cuántas “páginas” (PAGES) de memoria estamos utilizando en nuestro almacenamiento de usuario:
INFORMATION (ABOUT) DISK-USAGE (OR DIRECTORY)
En TOPS-20 el directorio se denomina “STRUCTURE” (estructura), y al iniciar sesión en TWENEX seremos localizados del directorio de usuario dentro de la estructura PUBLIC: (PUBLIC:).
El sistema de archivos de TOPS-20 suporta versionado de ficheros, y cuenta con dos niveles de borrado de archivos (similar a una “papelera de reciclaje”), funcionalidad de la cual UNIX carece. De esta forma, los nombres de archivo de TOPS-20 cuentan con tres componentes:
NOMBRE.EXTENSIÓN.VERSIÓN
Utiliza el comando DIR para listar directorios, de manera similar al ls de UNIX. También contaremos con una opción más completa, VDIR o VDIRECTORY. Podrás utilizar comodines * como atajos para abarcar “todo”. Si decides introducir el comando:
@directory PS:..*
…TWENEX listará todos los archivos, con todas las extensiones, y todas las versiones que se encuentren dentro del directorio de usuario MENGANO. Si sólo le ingresa un . y omite el comodín * referido a la versión, entonces EXEC listará únicamente generación más actual de TODOS los archivos.
Trabajos en TOPS-20
TWENEX contó con una destacable funcionalidad para gestionar la realización de tareas de cómputo (Trabajos o “JOBS”). Aprendamos de ellos.
Utiliza ahora el comando FINGER para consultar el LOGIN y nombre de los usuarios conectados, el número de trabajo que estén ejecutando (“Job”), y el número de terminal asignada (TTY) conectada en el sistema compartido, además de otras informaciones.
Esta información es muy útil para operar en un sistema de cómputo de tiempo compartido como TWENEX.
Conectar y Desconectar Terminal
En TOPS-20 es posible desconectar virtualmente la terminal teletipo simulada de un trabajo, y podríamos conectarla a otro trabajo, incluso de otro usuario si sabemos su contraseña. Para desconectar la terminal emplearemos Ctrl+c y luego el comando DETACH.
Esto deja el trabajo activo pero le “desconecta” la terminal, como si de un conmutador telefónico antiguo se tratara. Esto te permitirá iniciar un trabajo distinto en una sub-instancia de EXEC.
Para volver a “conectar” la terminal al trabajo que quedó “DETACH” (desconectado), usamos el comando FINGER para consultar el número de trabajo (JOB) del usuario, y luego empleamos ATTACH con la sintaxis del usuario y del numero de trabajo. Por ejemplo:
ATTACH usuario 32
...“reconectará” la terminal para “controlar” lo que hace el usuario peron con el trabajo número 32.
Este proceder será útil para procesos largos (como compilaciones), donde podremos iniciar el proceso, DETACH la terminal, y volver luego cuando la termine, o hacer algo mientras ello sucede.
Podrás utilizar el comando KILLJOB y el número de trabajo para eliminar un trabajo suelto.
Multitareas
TOPS-20 cuenta con la posibilidad de “elevar” o “descender” trabajos, lo que equivale a enviar trabajos al segundo plano o elevarlos a primer plano (de forma similar a los comandos bg y fg de UNIX).
Para abandonar un trabajo debemos presionar Ctrl+c. Esto “descenderá” el trabajo actual y ejecutará un intérprete EXEC nuevo. Para volver a “mandar arriba” o elevar el trabajo anterior para continuar utilizándolo, en lugar del comando fg, en TOPS-20 usaremos el comando POP. Para “mandar abajo” y pasarlo a segundo plano (bg), usaremos el comando PUSH.
fg=POP
bg=PUSH
Comandos Interactivos en EXEC
Además de los comandos no interactivos, podrás utilizar aplicaciones más complejas en el EXEC. Estos reciben la jerga de “Subsystem” o subsistema, pero son esencialmente programas interactivos ejecutables, tal como las aplicaciones tradicionales de UNIX.
Correo electrónico: MM
Utiliza el subsistema MM para enviar y recibir correo electrónico. Podrás recibir correo desde el mundo exterior. Es muy recomendable usar texto plano para los envíos. El prompt del subsistema de correo es:
MM>
Introduce el comando MAIL para redactar un mensaje. Se te presentará el indicador TO: (“para:”), al cual debes introducir la dirección de correo según el siguiente criterio.
Si deseas enviar correo electrónico interno dentro del sistema compartido TWENEX (que cuenta con la dirección usuario@twenex.org), simplemente ingresa usuario@twenex.org (también funciona el host @kankan.twenex.org).
Si deseas enviar correo electrónico a direcciones sitas en @sdf.org, envíalas a usuario@sdf.org.
Para enviar desde TWENEX.ORG al mundo exterior a través de internet, debes reenviarlas a través del servidor de correo sdf.org intermediando el signo %. Por ejemplo, para enviar un correo a un usuario@texto-plano.xyz, utiliza usuario%texto-plano.xyz@sdf.org
El funcionamiento es autoexplicativo. El editor de líneas del correo nos permitirá escribirlo, y cesar la edición con Ctrl+z.
Una vez escrito el correo finaliza la edición del mismo con Ctrl+z, y quedará en la bandeja de salida (“Qued”). Para proceder al envío del correo, ingresa el comando SEND.
Leer el correo
En el subsistema MM, usa el comando HEADERS ALL para ver todos los correos recibidos en tu bandeja de entrada, y usa el comando TYPE seguido por el número del correo que desees leer, o bien usa TYPE NEW para leer los correos nuevos. Podrás responderlo con REPLY.
Tras la edición de la respuesta, quedarás en el prompt de envío “S>”. Para producir el envío, ingresa el comando SEND.
S> SEND
Podrías borrar el correo usando DELETE 1, y luego expungar la papelera con EXPUNGE.
Ten en cuenta que la dirección TWENEX.ORG no es demasiado compatible. Podría tener problemas para utilizar MIME64, HTML y otros tipos de correo electrónico. Privilegia el uso de texto plano.
BBOARD
Es una cartelera electrónica interna al sistema TWENEX, en forma de bandejas para el subsistema de correo. Ingresa al subsistema de correo:
MM
y solicita la carpeta BBOARD:
BBOARD
Verás que hay distintos tablones.
Editores en TWENEX
Emacs
En TWENEX podrán encontrarse múltiples editores de texto. El editor por defecto es Emacs, pero también tendremos a Vi, y los más antiguos SOS y TECO.
Editor VI
Antes de utilizar el editor visual vi habrán de activar la terminal en modo ANSI con el comando
TERM ANSI
y luego ejecutar el editor con
vi
Editor SOS
SOS es el editor de líneas Son Of Stopgap. Para obtener ayuda de un comando tipea “H,”. Por ejemplo, la información en todos los comandos de alteración está disponible ingresando “H,A”.
Comando Resultado
A (Alter) Edición entrelíneas
B (Begin) Va al principio del fichero
BP(Begin Page) GVa al principio de la pág
C (Copy) Copia texto
CC(Co-Copy) Copia de coedición
CT(Co-Transfer) Mueve texto de coedición
CX(Co-edit) Comienza/conmuta coedición
D (Delete) Borra texto
E (Exit) Sale del editor
F (Find) Busca una cadena
G (Go) Sale y corre un programa
H (Help) Presenta la ayuda
I (Insert) Inserta nuevo texto
J (Join) Une líneas
JC(Justify Centered) Centra el texto
JL(Justify Left) Justif izq
JR(Justify Right) Justif der
JU(Justify) Fully justificado letras
JW(Justify Word) Justifica palabras
K (Kill) Borra marcas de pág
L (List) Lista las líneas en LPT:
M (Mark) Inserta marca de pág
N (Number) Renumera líneas
NA(Number And open) Abre un hoyo
NF(Number file) Renumera fichero
NP(number page) Renumera pág
O (Output) Guarda la salida a un fichero
P (Print) Presenta las líneas en la TTY
R (Replace) Borra e inserta
S (Substitute) Busca y reemplaza
T (Transfer) Mueve texto
VL(inVert Lower) Convierte a min
VU(inVert Upper) Convierte a may
VV(inVert inVert) Conmuta may/min
W (World) Salva el mundo (fichero)
X (eXtend) Agrega al final de la línea
; (comment) Resto de línea ignorado
@ (indirect) Ejecuta desde un fichero
= (give) Imprime valores de parámetros
/ (set) Establece valores
. (move) Mueve el puntero de línea
Herramientas de Chat
Si desea utilizar estos comandos para conversar con otros usuarios conectados al sistema de cómputo TWENEX.ORG, debe tener configurados TERMINAL RECEIVE LINKS.
Para ello ingresa:
TERMINAL RECEIVE LINKS
Si no desea recibir mensajes en su terminal o desea cesar tal posibilidad momentáneamente, ingrese:
TERMINAL NO RECEIVE LINKS
COMMODE
Se trata de un programa pensado para terminales teletipo, utilizado para chatear con otros usuarios de TWENEX.org.
Asegúrate de activar la recepción de enlace de terminal con
TERM REC LINK
. Debes conocer también el número de terminal (TTY) al que deseas enlazar para la charla. Utiliza el comando FINGER revisa qué usuarios están utilizando el subsistema COMMODE y qué número de terminal (TTY) tienen.
Ejecuta el programa:
COMMODE
Enlázalo con Ctrl+L.
TTY:
Ingresa el número de terminal.
El otro/s usuario/s deberá/n aceptar el enlace.
Para empezar a hablar educadamente, presiona la barra espaciadora y se presentará tu nombre de LOGIN. Considera que la conversación es half-dúplex, lo que significa que todas las terminales enlazadas podrían escribir al mismo tiempo. Túrnate para chatear.
Si oprimes la tecla ESC se escribirá GO AHEAD (“Continúe”).
Ctrl+x te permitirá salir a EXEC. Retornarás al subsistema COMMODE con el comando POP.
SEND
El subsistema SEND permite enviar mensajes de texto a otro usuario en otra terminal. Una vez que haya recibido un mensaje por parte de un usuario, podrá utilizar el comando REPLY para responderte.
Inicia el subsistema SEND para enviar mensajes a otro usuario. Para ello utiliza:
send usuario
Responde usando:
REPLY usuario
Sal del subsistema SEND mediante Ctrl+z.
Protección de Ficheros y Directorios
TOPS-20 permite protección de DIRECTORIOS y ARCHIVOS de 18 bits, lo que incluye funcionalidades encontradas bajo los permisos de 9 bits de UNIX, asñi como protecciones adicionales que son únicas a TOPS-20.
Las PROTECCIONES están agrupadas juntas en un conjunto de 3, y corresponde a:
@SET DIRECTORY PROTECTION 777700
^ ^ ^
| | \ todos los demás usuarios
| __ usuarios en su grupo
____ su propio usuario (propietario)
Como tal, usted y los usuarios en su grupo tendrán acceso completo al directorio , mientra que todos los demás usuarios no tendrán acceso alguno.
Si está acostumbrado a los permisos de fichero de UNIX, debería resultarle impresionante el manejo que hace TOPS-20, ya que es posible crear un archivo que:
- No aparezca en un listado de directorio - No sea legible incluso si conoce su nombre. - Sea agregable a todos los usuarios
Los ficheros tienen atributos de permisos como en Unix, pero en octales.
77 es acceso completo
52 solo lectura
00 acceso denegado
El espacio se indica en “PAGES” (páginas).
Bash en TOPS-20
Se puede llamar a esta función totalmente espúrea, pero puedes ejecutar el intérprete BASH del proyecto GNU compilado para TOPS-20.
Para ello ingresamos:
SH
Obtendrás el intérprete Bash con su prompt:
bash$
No es posible utilizar todas las facilidades de Bash pues no todas están integradas, pero si ingresas SET o ENV obtendrás los datos de ambiente que dilucidan a BASH sobre TOPS-20.
Para salir del intérprete Bash, ingrese exit.
Programar en TOPS-20
TWENEX era recordado por sus facilidades de programación, de modo que existen muchos subsistemas pensados para compilar y programar.
Macro-10
Macro-10 era el ensamblador nativo de la DEC PDP-10, y TWENEX naturalmente contaba con él.
Ingresemos un programa en MACRO-10. Creamos el código con el editor emacs para un fichero llamado vpc.mac
emacs vp.mac
Pega el código fuente:
TITLE VPC
SEARCH MONSYM
EVEC: JRST START
JRST START
EXP 0
START: RESET%
HRROI 1,[ASCIZ / Viva Peron, carajo!/]
PSOUT%
HALTF%
JRST START
END <3,.EVEC>
Y guárdalo con Ctrl+x, Cttrl+s, y sal con Ctrl+x,Ctrl+z. Compila el código con:
compile vpc
y lo guardamos para obtener el binario ejecutable vpc.exe.
load vpc
Ejecútalo con
vpc
Lenguaje C
C es el lenguaje típico portable. Podrán escribir un programa llamado llamada vp.c con el siguiente código fuente:
void main(){
printf("Viva Peron!!!\n");
}
Lo compilamos con:
compile vp.c
y lo cargamos con con
save vp
Una vez finalizado, lo corremos con:
vp
LISP
LISP era una serie de dialectos de lenguajes de programación concebidos para tareas de desarrollo de inteligencia artificial en el MIT.
MACLisp
Para usar MACLispP:
@DEFINE MACLISP: PS:
@ maclisp:maclisp
InterLISP
@ define interlisp: ps:
@ interlisp:lisp
C Lisp
@ clisp
Uppsala Common Lisp, Version of 15-Dec-1987, (c) 1985, C. Hedrick
CL>(+ 2 2)
4
CL>(quit)
Uso de FTP en TWENEX
Podrás usar el el subsistema FTP desde SDF.org u otro host para cargar y descargar ficheros a tu instancia TWENEX. Ingresa al subsistema de transferencia de ficheros con:
ftp sdf.org
Nos logueamos con:
login ftp
Al encontrar el prompt FTP> del cliente de transferencia de ficheros, presiona ? para ver los comandos en uso en el subsistema FTP. Podremos usar open para conectarnos a otros servidores FTP anónimos.
Habremos de tener en cuenta estas reglas de uso:
Para transferir fichero de texto o no compilados, utiliza el modo ASCII con el comando SET TYPE ASCII,
Para binarios, debemos usar modo PAGED, con
FTP>SET TYPE PAGED
Los comandos son los tradicionales de FTP. Utiliza CD y DIR para moverte en los directorios, y utiliza GET para descargarlo.
Podremos también participar de clases en video en el canal de Twich de SDF, o bien ver los videos de las bootcamp (en inglés).
Sin duda, aprender TWENEX nos transportará al pasado y al verdadero súmun de la cultura hacker del Justicialismo.
Por eso, compañeros, si yo hubiera de fijar el rumbo en la ejecución de las tareas docentes de esta casa, solamente daría un directiva de muy pocas palabras: tenemos que formar, primero hombres buenos y del pueblo. En segundo lugar, formar trabajadores, sobre todas las cosas. Y, en tercer lugar, formar hombres patriotas, que sueñen con una Nueva Argentina en manos del pueblo, como instrumento del pueblo para lograr la grandeza de la Patria y la felicidad de ese mismo pueblo.
Si formáramos un nuevo grupo de intelectuales ignorantes, de los que tenemos tantos, que simulan saber para aprovechar de los que saben menos, no habríamos hecho un gran progreso sobre lo que tenemos.
Lo que necesitamos son hombres leales y sinceros, que sientan el trabajo, que se sientan orgullosos de la dignidad que el trabajo arrima a los hombres, y que, sobre todas las cosas, sean capaces de hacer, aunque no sean capaces de decir.
permalink
29 december 2022
¿Cómo soluciono el error de SSH "Too Many Authentication Failures" en Ubuntu?
¡Trabajadores!
Un Movimiento no versa tanto por la calidad de sus integrantes, sino por la de sus dirigentes. Esto es así pues la Masa Popular - que es el verdadero consumo - se rige por la primacía del número: la cantidad de sus adherentes.
Es que el hombre dejó hace millones de años de ser un ser gregario para transformarse en un individuo de alcance social, que se ha integrado en tribus, reinos, naciones, y hoy en Estados.
Quien Conduzca en nuestro Movimiento ha de obrar en búsqueda de la inclusión: incorporar a todo el que se pueda. Ha de dar acceso a todos los beneficios y bienaventuranzas que tiene pertenecer a un Movimiento de raigambre popular.
Para ingresar a un Movimiento ayuda tener una buena cara, como esta:
Pero también ayuda contar con las necesarias credenciales de Secure Shell. Esto es así pues este sistema nos permite acceder de forma remota o raramente local, a distintos sistemas de servicio GNU con Linux; una vez establecido el enlace, podremos utilizar secure Shell : al fin y al cabo he instruido que esto sirve para realizar cualquier acción dentro de un sistema GNU con Linux al amparo de una conexión criptográficamente protegida.
Pero a pesar de esto, podríamos encontrarnos con numerosos errores de rechazo de conexión SSH. Tal vez el error más común de autenticación con llaves SSH sea el inefable "Too Many Authentication Failures", que en el idioma de Braden quiere decir algo así como "Demasiados intentos de Autenticación fallidos".
Esto tiene una explicación bastante terrenal, pero que hay que conocer. Si utilizamos el sistema de llaves públicas SSH, será normal contar con archivos que conforman dichos pares de llaves SSH. En el caso de GNU con Linux, estos suelen econtrarse en nuestro directorio de usuario oculto ~/.ssh.
Por ejemplo, podríamos abrir una terminal con Ctrl+Alt+T y solicitar un listado de las llaves tenemos instaladas en nuestro cliente de SSH. A tal fin utilizaremos el siguiente comando:
ssh-add -l
Pues bien señores, cuando nos conectamos a un servidor SSH, lo normal es que no le especifiquemos al cliente "cual llave usar" de entre todas las que tenemos en el llavero .ssh. Esto suele responder a la fiaba. En tal caso, el cliente SSH probará torpemente una llave tras otra en el agente de autenticación SSH del servidor, como si de un "ebrio llegando de juerga" se tratara. Lo normal es ir descartándolas en orden alfabético hasta encontrar la que corresponda, autenticar, y "entrar" a la sesión de shell seguro...
El error mencionado se produce por un "limitador de intentos de prueba" para las llaves, el cual está situado en el servidor. Normalmente está configurado en "seis intentos", y lógicamente si tenemos más llaves que dicha cantidad, el procedimiento podría fallar.
Pues bien señores, existen dos maneras de solucionarlo.
En el cliente
En caso de necesitarlo, podríamos intentar lograr acceder a través del uso de la contraseña de conexión (en lugar de la llave). Para ello debemos indicar tal preferencia en el comando mediante el prefijo PreferredAuthentications. Por ejemplo, al ingresar:
ssh -o PreferredAuthentications=password usuario@servidor
...el servidor debería pedirnos la contraseña (si tal método está habilitado, claro está).
Otra consiste en probar si podremos entrar sin usar llaves, de manera tal de utilizar el método de contraseñas
Si quisiéramos que siempre utilice la incómoda (y usualmente insegura) acceso por contraseña, podríamos automatizarlo desde el lado del cliente de conexión. En el equipo cliente ingresamos:
nano ./ssh/config
...y agregamos los datos del sevidor. Por ejemplo:
Host cgt
Port 22
User fulano
PreferredAuthentications password
HostName cgt.local
También podríamos especificar directamente qué llave queremos utilizar para dicho usuario utilizando la variable IdentityFile para cada conexión. Esto se haría de la siguiente manera:
Host cgt
Port 22
User fulano
IdentityFile ~/.ssh/llave_cgt_fulano_ed25519
HostName cgt.local
Acto seguido, guadamos los cambios con Ctrl+o.
En el servidor
Otra opción es modificar directamente el servidor, lo cual proporciona una solución general. En tal caso, debemos modificar la variable MaxAuthTries del servidor SSH. Esta normalmente viene configurada en 6 intentos, lo cual suele ser adecuado para prácticas laxas donde siempre se usaba una única llave para todo. Sin embargo, las políticas más modernas tienden a preferir que cada usuario disponga de una llave cifrada para cada instancia remota, de forma de poder "zafar" si una de las llaves se pierde o es comprometida.
En dicho caso, elevar el número de intentos permitidos por encima de un valor más alto (por ejemplo, 20), podría resultar más provechoso.
Para realizar tales cambios, en el servidor editamos el archivo de configuración. Por ejemplo, podremos hacerlo con GNU Nano introduciendo:
sudo nano /etc/ssh/sshd_config
Habrán de presionar Ctrl+w para buscar la variable MaxAuthTries. Una vez que la encontramos la descomentamos eliminando el signo # que la antecede, y elevamos el valor de la variable del 6 original a uno adecuado según la cantidad de llaves (por ejemplo, 20).
Es importante tener en cuenta que esto no implica que "se da un cheque en blanco a probar llaves" sino que se autoriza que cada usuario pruebe dicha cantidad de veces.
Para que el cambio surta efecto, debemos reiniciar el servicio de SSH ingresando:
sudo systemctl restart sshd
Naturalmente, podrán contemplar también otras técnicas recomendadas para asegurar un servidor de SSH.
permalink
28 december 2022
¿Cómo puedo ensayar online con mi banda en Ubuntu?
Juan Perón era un adepto a la música. A pesar de contar con buenas dotes de ejecución, se distinguió por ensayar con los compañeros por internet con Jamulus, el software libre para tocar online en Ubuntu.
(...)
¡Trabajadores!
Siempre es bueno unirse a la peña de la música como natural consecuencia de la coordinación que ha de tener todo Movimiento Humano. Esto nos ha permitido - por demás - insuflar el justicialismo al ritmo que más nos interesa: el de sumar voluntades. Las realización de esta dicha es una gran adición en pos de alcanzar el objetivo humano que nos impulsa: la propia felicidad y la de todos quienes nos rodean.
Nuestra doctrina gira en torno a la Justicia Social, de la que el Software Libre no es sino una versión remozada. Al fin y al cabo, mejorarlo y compartirlo reponde al mismo principio rector y se hermana con el de la música.
Vean señores, he explicado cómo instalar el excelente servidor de videollamadas del pueblo GNU Jami, y disfrutar de su enorme capacidad para dictar clases virtuales y conferencias seguras sin caer en opciones tecno-esclavizantes de una oligarquía sin patria ni bandera.
Sin embargo, organizar una banda para tocar a través de las redes de datos libres supone un desarrollo aún mayor de la perfección. Un software de tal característica ha de contar no sólo con esta técnica de avanzada, sino disponer también de la condición de una bajísima latencia sonora que haga posible coordinar a l@s compañer@s en una misma métrica. Sólo esto podría permitir el ansiado sueño de tocar acopañado a través de la Internet. En vistas de esta montaña de requerimientos nuestro Movimiento se puso a la marcha, y logró su objetivo. Se trata de Jamulus, una implementación liberada bajo licencia GNU GPLv2 para el ensayo musical en vivo a través de Internet.
Para instalar Jamulus podremos utilizar la terminar del sistema. Simplemente desplegamos una con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:
sudo apt update ;
cd /tmp/ ;
wget https://github.com/jamulussoftware/jamulus/releases/download/r3_8_2/jamulus_3.8.2_ubuntu_amd64.deb ;
sudo dpkg -i jamulus_3.8.2_ubuntu_amd64.deb
Tras ingresar nuestra contraseña de conductor, se habrá descargado e instalado el paquete del cliente de Jamulus en nuestra computadora. Naturalmente, el programa también existe para otras plataformas de la ignominia, pero yo os lo enseñaré en Ubuntu, el sistema que he legado al Pueblo.
Es primordial saber que Jamulus da uso al servidor de audio JACK con el claro fin de obtener sonido de calidad y baja latencia. Esto nos permitirá coordinar la música a través de la red de redes.
Nuestro Movimiento Justicialista propugna la cercana unión de los trabajadores, y se eleva como un vínculo de unión de sus voluntades intrínsecas. Esto se replica en Jamulus, ya que para lograr los mejores resultados es muy preferible contar con conexiones cableadas de todo tipo. Eviten en todo lo posible el problemático Wifi, y empleen conexiones Ethernet por cable en el trabajo y en el hogar. Además, evitar el uso de oligárquicos auriculares y micrófonos Bluetooth en pos de los populares equivalentes cableados redundará en facilitar enormemente la inclusión de todos y el goce en las redes, ya que lo simple es doblemente fácil. Quien así no opere comprenderá que la latencia del audio se elevará a niveles estratosféricos. Sigan este consejo, que lo doy con el corazón tan abierto como sólo puede ofrecerse a quien tanto amo: ¡el Pueblo!
- Preparar tu audio con JACK
Enfocarse en lo simple es el objetivo de todo trabajador que sigue la filosofía UNIX. Como paso previo, cerraremos todas las aplicaciones que usen sonido, y - en caso de querer utilizar una placa de audio USB externa - la conectamos a la computadora.
Preveemos entonces iniciar el servidor JACK (desde Aplicaciones / Sonido / QjackCtl). Normalmente ya debería estar configurado (si no lo estuviese, podrán encontrarlo al final del artículo).
- Arrancar Jamulus
Con el servidor JACK en pleno funcionamiento, daremos arranque al cliente Jamulus. Podrán hacerlo desde el menú Aplicaciones / Sonido / Jamulus de Ubuntu.
Conforme arranque, la ventana principal de Jamulus cobrará el aspecto siguiente:
Será natural no oír nada aún. No se preocuparán, ya que esta es una regla de oro en Jamulus: normalmente sólo habremos de escuchar el sonido de retorno desde un servidor remoto (que conoceremos como sala de ensayos).
Pues bien, será imprescindible configurar propio perfil de músico. A tal efecto, presionamos el botón Configuración y veremos desplegarse una ventana Configuración. Seleccionemos en ella la solapa Mi Perfil.
El subsiguiente campo Filas Mezclador - en tanto - indica cuantos deslizadores se harán presentes en la ventana de la mezcladora. Si bien la mayoría de los instrumentistas se bastan con 1, podríamos indicar más si fuese el caso que se hayen presentes - de manera local - varios músic@s, o bien si somos un baterista que ha microfoneado, digamos, 8 cuerpos percusivos... en tal caso se indicaría.
- Conectar a un servidor de sala de ensayos
Antes de mandarnos a tocar con l@s compañer@s "a tontas y a locas", os recomiendo enlazar a un servidor vacío para probar la configuración, y asegurar oír el retorno que envíamos al servidor.
Presionarán el botón de “Conectar” en la ventana principal de Jamulus, y se enfrentarán con la ventana Conectar, la cual permitite unirte a un servidor de audio: la ventana se irá refrescando con salas de ensayos públicas:
En la lista aparecerá el número de usuarios conectados y el número máximo soportado. Lo más importante de los servidores es su “tiempo de ping” indicado en colores. Cuanto mayor la cifra, más difícil será tocar en sincronización. Normalmente, se selecciona un servidor con un tiempo ping de 50 miliosegundos o menos, si es posible. Depende de la velocidad de conexión y la distancia mutua.
Los servidores permanentes (con disponibilidad las 24h) se muestran en negrita. Los compañer@s compendian estas listas por género, aunque también por ubicación. Puedes filtrar la lista por nombre de servidor o ubicación. Para solo mostrar los servidores ocupados, escribe el caracter “#”. Utiliza el menú desplegable de Lista para elegir un género, y haz clic sobre la peña a la que quieres arrimarte telemáticamente. Para loguearte, haz clic sobre el botón Conectar, lo cual establecerá el enlace.
Si conoces la dirección IP o URL de una sala de ensayos privada, ingrésala en el campo Nombre/Dirección del Servidor. Podrás añadir un número de puerto opcional (ej: jamulus.ejemplo.org:22124) Si anhelas utilizar direccionamiento IPv6, ingrésalo entre corchetes). El campo también mostrará una lista de los servidores utilizados recientemente ("favoritos").
Una vez establecida la conexión con un servidor, asegúrate de que te escuchas bien y arregla cualquier problema de volumen de entrada, etc.
Naturalmente, podrán ejecutar un servidor público el tiempo suficiente para que la banda se conecte, y luego hacerlo privado simplemente desactivando ‘Mi Servidor es Público’ el la ventana del servidor. De esta forma los miembros podrán disfrutar entre sí de la más maravillosa música.
- ¡A tocar!
Con el sonido configurado, ya puedes empezar a tocar la más maravillosa música. El programa no se anda con vueltas: una vez logrado enlace, te presentarán deslizadores (faders) para cada músico presente en el servidor de la sala de ensayo. En este ejemplo me he juntado a tocar con el bajista Manco, la tecladista Bicha, y el Pomelo, baterista electrónico en la Sala Canus Argentina. Los controles afectan sólo tu retorno de escucha personal.
En el caso de disponer de músic@s configurados en estéreo, también se mostrará encima de todo un pote PAN para paneal@ (Mayúsculas+clic izquierdo del mouse lo resetea al medio).
En caso de bajar un delizador, disminuirás el retorno de tal músic@, y si lo subes, aumentarás el retorno que oyes de ella. De esta forma, cada un@ puede escoger cómo escucha a l@s demás.
Si no deseas que otros escuchen tu emisión, presiona el botón "Silenciarme Yo", que cortará tu emisión de audio hacia la sala (además, es anónimo).
Las luces LED del vúmetro representan los niveles de los canales estéreo o mono de tu entrada de audio. Asegúrate de regular el volumen para jamas alcanzar el tope de señal. Este efecto indeseado de recorte daría lugar a un sonido distorsionado de audio de la señal de audio (los LEDs indicarían el recorte en rojo si esto sucede). Normalmente aturdirías al resto, ¡no lo hagas!
El deslizador de Reverb te permite agregar un efecto de reverberación mono o estéreo, pero sólo local.
Debajo de cada instrumentista encontrarás tres botónes de actividad local. El botón GRP te permite agrupar deslizadores para moverlos proporcionalmente y al unísono (hasta 8 grupos). Si mueves el deslizador de cualquier miembro agrupado, los demás deslizadores del grupo también se moverán en la misma proporción. Podrás desagrupar temporalmente un canal mediante Mayúsculas+clic+arrastrar.
El botón MUTE enmudece a uno de los músicos. Si te enmudeces tu mismo, tal acción aparecerá reflejada en las mezcladoras de los demás (no es anónimo). Si muteas tu propio canal simplemente significa que no escucharás tu propio retorno desde el servidor (no significa que los demás dejen de oírte). No se aconseja ya que es altamente probable que tu audio quede a destiempo con los demás miembros de la banda ¡y emularías a El Duki!). Si deseas dejar de emitir presiona el consabido botón "Silenciarme Yo".
El botón SOLO permite escuchar uno o más musiquer@s aislados de l@s demás. Quienes no lo tengan oprimido, quedarán así enmudecidos en tu mezcladora local. Ten en cuenta que aquellas personas que no lo tienen aplicado les aparecerá el icono de “silenciado” sobre tu deslizador (no es anónimo).
Los usuarios se presentarán de izquierda a derecha "en el orden en el que vayan llegando". Podrás alterar dicho orden desde el Menú Editar.
Si el operador de la sala de ensayo habilita la grabación en el servidor, verás un mensaje sobre el mezclador indicando si estás siendo grabado.
Ten en cuenta que puedes utilizar el botón Chat para desplegar la ventana de chat a otras personas de la sala. El mensaje de bienvenida en el chat puede también establecer alguna directriz de utilización de la sala de ensayos.
Normalmente no hay más que hacer; ¡ya podrás tocar con los demás, escuchando la más maravillosa música!
Indudablemente, os recomiendo consultar el excelente manual en castellano en línea de Jamulus, el cual disipará las dudas más extendidas de este excelente programa.
Opciones Avanzadas
Tocar de más suele ser al ñudo, y esto se replica tanto en la música como en la configuración de Jamulus. Sin embargo, para quienes deseen arriesgarse en pos de la Liberación (y tal vez, menor retraso en el sonido), podrán arriesgar revisar las configuraciones avanzadas dentro de Jamulus. A tal fin presionamos el botón Configurar y elegimos la solapa Configuración Audio/Red.
El selector Dispositivo de Audio nos permitirá escoger el controlador y el hardware específico que diseáramos usar (si contamos con varios). El mapeador nos permitirá escoger los canales (ya sea mono o estéreo). Si nuestra/s placa/s de sonido o dispositivos ofrecen más de un canal de entrada o salida, quedarán visibles y podremos mapearlos según nuestras necesidades.
La opción Canales Audio permite escoger entre tres Modos de Salida de audio que utilizará Jamulus. Cada uno de ellos representa un mayor consumo de ancho de banda. Los modos Mono y Estéreo utilizan uno y dos canales de audio respectivamente.
Nota: Activar el modo estéreo duplicará el envío de datos, debes asegurarte que esto no exceda el ancho de banda de tu conexión a Internet. Es preferible ejecutar instancias separadas del cliente para cada voz/instrumento, en lugar de utilizar este mezclador interno de dos canales mono a estéreo.
El modo Entrada mono/Salida estéreo envía audio en mono pero recibe el audio desdoblado en estéreo (para el caso que una placa de audio externa conste de un conector de entrada estéreo para instrumento y otro conector de micrófono independiente. En este caso, las dos señales de entrada se combinarán en un solo canal mono a la vez que la mezcla del servidor se escuchará en estéreo.
Podremos escoger la Calidad de Audio, definiendo así la tasa de de envío de datos a la red. Hemos de asegurarnos que la tasa de subida no exceda el ancho de banda de la conexión a Internet, de lo contrario se producirían cortes. El valor por defecto es calidad Normal.
Configuración de JACK
Normalmente ya debería estar configurada la entrada de audio. Sin embargo, indicaré aquí este paso por si no lo estuviese.
Desde el punto de vista del hardware de audio, podremos configurar la entrada de audio de Ubuntu desde el panel Sonido. Para ello podremos ir a Sistema / Preferencias / Hardware / Sonido. En la solapa Entrada podremos configurar qué conector y dispositivo queremos utilizar.
En este caso utilizo el conector Línea de Entrada (entrada estéreo Line In, conector azul), ya que produce un sonido límpio, y puedo regular el volúmen de captura del instrumento con el deslizador Nivel de Entrada. También podría utilizar Micrófono Frontal o Micrófono Trasero (entradas monoaurales pre-amplificadas, de conector rosa).
Finalmente, en nuestro sistema GNU con Linux se utiliza la herramienta de configuración QJackCtl para cambiar el tamaño del buffer. JACK suele venir configurado, pero si nunca se ha configurado, podrá hacerse esto presionando el botón Setup y configura la interfaz de audio que quieras utilizar.
Podrás configurar los aspectos técnicos del audio. Como referencia en este aspecto, considera que en la solapa Configuraciones de JACK podrías establecer una Frecuencia de Muestreo de 48000, cuadros/período en 128 y períodos/buffer en 2.
Reinicia JACK para que los posibles cambios de configuración surtan efecto.
Ten en cuenta que algunas placas de audio disponen de la posibilidad de alterar el retardo de buffer por hardware. La opción de 128 debería funcionar para la mayoría del hardware de sonido, pero podrás utilizar 256 o 512 para conexiones muy lentas, lo cual podría dar mejores resultados.
permalink
27 december 2022
¿Cómo puedo emular RSTS/E en Ubuntu?
Señores oficiales,
Uno de los principios nodales que ha de comprender todo aquel que en el campo de batalla ha de conducir una unidad, es la de no dormirse en laureles victoriosos. Es natural que el soldado busque prolongar la paz que tanto anheló, pero debe comprender que el esfuerzo del pasado no sirve nunca de ejemplo. Ha de continuarse la preparación y la previsión para nuevas luchas que habrán de venir indefectiblemente.
Esto es así porque el hombre vencido - si ha valido la pena como enemigo - jamás quedará vencido si no obtiene justicia, y esta es la base de la paz.
Desde los antiguos griegos se sabe que el soldado dispone de una preparación: el deporte. Las arte del cultismo físico, junto con las marciales fueron - y son - la justa vara con la que puede medirse al soldado. El Oficial ha de contar - además - con la preparación que da el gabinete: el estudio de la historia y de la pericia logística obrarán de maravillas en la formación de un Conductor.
La esgrima es, por antonomasia, la percepción del arte marcial del caballero. Algunos piensan que en el cruce de aceros, los únicos metales son los del florín o del florete. Sin duda se equivocan, ya que el verdadero temple está en el Espíritu del duelista. No importa tanto el músculo de su mano, sino la decisión y empeño que impone a su arte de lucha.
Como tal me he formado y especializado en la Institución a la que nos toca pertencer. Un dato no menor es que entre 1918 y 1928 obtuve en varias oportunidades el título de Campeón Militar de Esgrima. En 1927 conquisté la Copa de Honor de Esgrima en el Círculo Militar. La pedana no tuvo secretos para mí. Pero esto no salió de un repollo, mi tío segundo Conrado Perón, fue maestro de armas y una de las primeras espadas del ejército. Fue él quien me inculcó los pormenores del choque de aceros.
En la informática sucede más o menos lo que en la esgrima. Hay varios filos de distinto peso que elegir - los sistemas operativos - pero lo importante es conocer su técnica a fondo.
Esto lo comprendí cuando empleé RSTS/E, veterano "Sistema de Tiempo Compartido para Compartir Recursos" de la Digital Equipment Corporation. Lo necesario para instalar tan enjundio no podía más que significar la necesidad de templar un alma en la hombría de bien que es necesaria para entregarlo todo en pos de la Felicidad de nuestro Pueblo.
Sin embargo, por aquél entonces, sólo podía correrse en una máquina que contara con la arquitectura de 16 bits que ostentaban las máquinas tipo PDP-11. Eran minicomputadoras portentosas y sólo al alcance del oligarca.
Providencialmente gracias al Justicialismo podremos contar con válidos émulos de ellas para utilizarlas en nuestro sistema GNU con Linux, todo gracias a las bondades del emulador SIMH, del cual profeso como uno de los grandes logros para privilegiar a todos en el arte de la Conducción de los Sistemas Operativos del Ayer.
Vean señores, RSTS/E es un sistema operativo multiusuario a tiempo compartido privativo, desarrollado por terceros en 1970 para la minicomputadora PDP-11 de Digital Equipment Corporation. Podemos trazar su origen al TSS/8 de la DEC PDP-8, aunque actualizado para las mayores posibilidades y potencias que ofrecían los 16 bits de la PDP-11. Su larga vida operativa lo pueden calificar como un verdadero Matusalén, ya que su desarrollo cesó recién en 1992, con la versión 10.2.
La manera más simple es contar con un paquete de RSTS/E ya compilado. En este caso simplemente habremos de descargar el paquete y correrlo en nuestro sisxtema GNU con Linux.
Instalar RSTS/E v9.3
Se trata de la versión de enero de 1987. Para dar con una versión mínima pero precompilada, abrimos una terminal en nuestro sistema con Ctrl+Alt+t e ingresamos los siguientes Comandos de Organización:
mkdir ~/.simh/ ~/.simh/rsts/ ~/.simh/rsts/v9
cd ~/.simh/rsts/v9/
wget http://www.rsts.org/distros/RSTS_kits/RSTS_V9.3_Kit.zip
unzip RSTS_V9.3_Kit.zip
Ahora podremos ejecutar el RSTS/E v9.3 precompilado. Para ello lo haremos con:
cd ~/.simh/rsts/v9/
./pdp11
El sistema nos solicitará la fecha y hora. Tras ingresarlas cuidando de evitar el bug Y2K (podríamos indicar un año de la década de 1990), nos solicitará si deseamos activar el sistema de tiempo compartido ("Start Timesharing?"), a lo cual debemos responder yes.
Acto seguido se nos solicitará ingresar un usuario ya elaborado. Podremos dar con los accesos de usuario. Los usuarios de este sistema virtualizado serán:
Usuario de sistema
Usuario: [1,5]
Contraseña: SYSUSR
Usuario administrador
Usuario: [1,2]
Contraseña: SYSLIB
Usuario "Invitado"
Usuario: [100,100]
Contraseña: DEMODEMO
Utilizar RSTS/E 9.3
Podremos utilizarlo siguiendo la Guía de Usuario de RSTS/E, o bien la Guía del Administrador de sistema RSTS/E.
Podremos correr la ayuda del intérprete de comandos DCL incorporada al RSTS/E, ingresando el comando HELP.
Para salir de RSTS/E ingresamos el comando LOGOUT. Una vez vueltos a la instancia de login, presionamos Ctrl+e para retornar al emulador SIMH, y salimos del mismo mediante el comando bye.
Instalar RSTS/E v7 en Ubuntu
La versión prototípica de RSTS sin embargo fue la v7 de agosto de 1978. Es indudable que versiones posteriores incorporaron ya elementos más avanzados, pero fue "la siete" la que podríamos considerar su pico operativo y por cierto la versión más duradera. Es que por entonces la arquitectura PDP-11 ya habían sido reformuladas desde el punto de vista del hardware gracias a las nuevas tecnologías de integrados de muy alta escala, y sus LSI-11 se encontraban - comparativamente - "por moneditas".
RSTS/E v7 fue entonces el ámbito con el cual se contó con software de 16 bits de oficina, en un intento por elaborar entornos de cómputo en el lugar de trabajo.
Primero descargamos la distribución de RTST/E v7. No es la última, pero ha sido una versión importante publicada en 1987. A tal fin abrimos una terminal con Ctrl+Alt+t e ingresamos los siguientes comandos de organización:
mkdir ~/.simh/ ~/.simh/rsts/ ~/.simh/rsts/v7
cd ~/.simh/rsts/v7/
wget http://www.rsts.org/distros/RSTS_disks/V70/rsts7.0-07.tar
tar xvf rsts7.0-07.tar
Preparar RSTS/E v7 desde cero
He aquí las indicaciones sobre cómo instalar RSTS desde cero y agregarle paquetes a este sistema pre-compilado.
En primer instancia procedemos a instalamos el paquete del emulador SIMH en nuestro sistema GNU con Linux, y le damos ejecución en el modo DEC PDP-11. Todo lo podremos hacer desde nuestra temrinal presionando Ctrl+Alt+t e ingresando los siguientes Comandos de Organización:
sudo apt update
sudo apt install simh
cd ~/.simh/rsts/v7/Disks
echo ';Inicializador de instalador de RSTSv7' > ~/.simh/rsts/v7/Disks/rsts.ini
echo 'att rl0 disk0' > ~/.simh/rsts/v7/Disks/rsts.ini
echo 'att rl1 rsts_sysgng.dsk' > ~/.simh/rsts/v7/Disks/rsts.ini
echo 'set rl1 lock' > ~/.simh/rsts/v7/Disks/rsts.ini
echo 'set cpu 1m' > ~/.simh/rsts/v7/Disks/rsts.ini
echo 'b11' > ~/.simh/rsts/v7/Disks/rsts.ini
Podremos iniciar ahora el procedimiento de preparación de RSTS/E según el frondoso manual naranja de instalación. Para dar inicio al instalador ingresamos:
cd ~/.simh/rsts/v7/Disks/
pdp11 rsts.ini
Se presentará la siguiente devolución. Al crear el fichero disk0 para la unidad virtual RL02, se nos indicará si queremos sobreescribir la última pista del mismo. Indicamos que introduciendo "y".
PDP-11 simulator V3.8-1
RL: creating new file
Overwrite last track? [N] y
Ahora arrancará el sistema disco de preparación de RSTS v7-0: Deberíamos recibir el prompt "Option:"
Disabling CR
Disabling RK
Disabling HK
Disabling TM
Enabling only console, disks, and tapes.
RSTS v7-0 (DL1)
Option:
3) Formateamos el disco de cero. Habremos de responder la pregunta "por defecto" presionando Ctrl+J (en caso de contar con una videoterminal, presionaremos la tecla LineFeed).
Option: DSK
Disk? RL0
Pack ID? DISK0
Pack cluster size? 2
SATT.SYS base? <Ctrl+J>
MFD password? SYSTEM
MFD cluster size? 16
Pre-extend directories ? <Ctrl+J>
PUB, PRI, or SYS? SYS
Library password? SYSTEM
Library UFD cluster size? 16
Date last modified ? <Ctrl+J>
New files first ? <Ctrl+J>
Patterns? 1
Proceed (Y or N)? Y
Continue with DSKINT? Y
Patterns? 1
Proceed (Y or N)? Y
4) Copiamos el sistema al disco de cero solicitando la rutina COP:
Option: COP
<fecha y hora nuevamente, podemos oprimir Ctrl+J para aceptarlas>
To which disk? RL0
SIMH reiniciará desde el DL0.
Agregamos un fichero de intercambio / volcado de núcleo al disco de cero (esto tenia funcionalidad de salvataje de memoria RAM ante un cuelgue de la PDP-11), solicitando la rutina REF.
Option: REF
<fecha y hora, de nuevo podemos usar Ctrl+j>
Disk? RL0
Clean? N
REFRESH suboption? CHA
SWAP.SYS changes? Y
Size? 256
Base? <Ctrl+J>
SWAP0.SYS changes? <Ctrl+J>
SWAP1.SYS changes? <Ctrl+J>
SWAP3.SYS changes? <Ctrl+J>
OVR.SYS changes? <Ctrl+J>
ERR.SYS changes? <Ctrl+J>
BUFF.SYS changes? <Ctrl+J>
CRASH.SYS changes? Y
Size? 35
Base? <Ctrl+J>
Other files? <Ctrl+J>
REFRESH suboption? <Ctrl+J>
Instalaremos ahora SYSGEN SIL, solicitando la rutina INS.
Option: INS
Sil? SYSGEN
El sistema reiniciará indicando "Rebooting...". y reiniciarça, ahora desde ña unidad DL1:
RSTS v7-0 (DL1)
Option:
Configuramos las opciones por defecto del SYSGEN SIL, solicitando la rutina DEF.
Option: DEF
JOB MAX or SWAP MAX changes? Y
New JOB MAX? <Ctrl+J>
JOB MAX or SWAP MAX changes? 28
JOB MAX or SWAP MAX changes? <Ctrl+J>
Run Time System? RT11
Error message file? ERR
Installation name? <Elegir un nombre de sistema>
Table suboption? <Ctrl+J>
Crash dump? y
Magtape labelling default <none>? ANSI
Preferred clock <L>? <Ctrl+J>
Date format <ALPHABETIC>? <Ctrl+J>
Time format <AM/PM>? <Ctrl+J>
Power fail delay <1>? <Ctrl+J>
Ahora iniciamos ya el generador de sistema SYSGEN en nuestro emulador.
Option: <Ctrl+J>
<ingresamos fecha, hora>
El sistema devolverá "?Can't find file or account" y ofrecerá un prompt con un "." (el prompt del sistema operativo DEC RT-11 que se usaba como base de configuración para RSTS/E).
Debemos hacernos peritos en montar el disco de distribución (SYSGNG) como solo-lectura, y utilizarlo para copiar los archivos desde el mismo.
. MOUNT DL1:SYSGNG/RO
. R DL1:CREATE.SAV
Luego de copiar los ficheros, el programa CREATE correrá automáticamente el programa SYSGEN.
Habremos de responder todas las interrogantes que nos solicite SYSGEN, la primera sección principal es importante porque le informa a SYSGEN desde dónde obtener los ficheros y parches:
Form ? #S # L
Same system ? #Y # <Ctrl+J>
Distribution medium ? #DL# <Ctrl+J>
Output medium ? #DL# SY
Delete files ? #Y # <Ctrl+J>
LP for SYSGEN ? *Y * N
Generate monitor ? #Y # <Ctrl+J>
Monitor name ? #RSTS# <Ctrl+J>
Monitor patching ? #??# YES
Patch file medium ? #DL# <Ctrl+J>
Pack ID ? #??# PATCHG
Patch file name ? #$MONITR.CMD# <Ctrl+j>
Generate BASIC-PLUS ? #Y # <Ctrl+J>
BASIC-PLUS RTS name ? #BASIC# <Ctrl+J>
BASIC-PLUS patching ? #??# YES
Patch file medium ? #Identical to monitor# <Ctrl+J>
Patch file name ? #$BASIC.CMD# <Ctrl+J>
RSX as default RTS ? #NO# <Ctrl+J>
...el resto de las preguntas simplemente podremos responder ingresando Ctrl+j para aceptar la opción por defecto. Eventualmente, se nos devolverá al prompt de RT-11: un simple ".".
Desde este RT11 muleto, compilamos el sistema corriendo el programa SYSBAT con:
.R SYSBAT
...y se nos presentará salida y luego nos solicitará la unidad para almacenar, inidicamos DL1:
MOUNT AX-D527G-BC ON A DISK DRIVE
READY AND WRITE PROTECT THE DRIVE
Mount DL:"SYSGNG"-write locked
Unit ? DL1
...con esta orden se compilará PIP, LINK, MACRO, LIBR, y SILUS, indicando en el terminal:
MOUNT THE MONITOR PATCH FILE DISK "PATCHG" ON A DISK DRIVE
READY AND WRITE PROTECT THE DRIVE
Mount DL:"PATCHG"-write locked
Unit ?
Nuevamente interrumpiremos el emulador presionando Ctrl+e y cargaremos el disco con los parches del sistema operativo RSTS/E (solucionaban ciertos bugs), Para ello ingresamos los siguientes comandos al prompt SIM> de SIMH:
sim> att rl1 rsts_patchg.dsk
sim> c
DL1
Con este accionar, se emparchará el intérprete de comandos Monitor y el intérprete de BASIC-Plus, presentando todo lo relativo a dicho procedimiento. Finalmente, deberá indicar "Batch job completed."
Sin duda podremos ya apagar el sistema emulado de generación SYSGEN, y correr el programa UTILTY.SAV
. R UTILTY.SAV
NO LOGINSSHUTUP
Esto cargará ya el RSTS/E v7 que hemos creado desde el disco DL0. Solicitaremos nuevamente la rutina INS con el instalador creado, y pediremos entonces instalar nuestro propio RSTS/E peronista.
Options: INS
Sil ? RSTS
Configuraremos las opciones por defecto del RSTS SIL peronista emparchado:
Options: DEF
JOB MAX or SWAP MAX changes? Y
New JOB MAX? <Ctrl+J>
New SWAP MAX? 31
JOB MAX or SWAP MAX changes? <Ctrl+J>
Run Time System? BASIC
Error message file? ERR
Installation name?
Table suboption? <Ctrl+J>
Crash dump? y
Magtape labelling default ? ANSI
Preferred clock ? <Ctrl+J>
Date format ? <Ctrl+J>
Time format <AM/PM>? <Ctrl+J>
Power fail delay <1>? <Ctrl+J>
Acto seguido montamos SYSL1G a la unidad RL2 (PATCHG aún permanecerá en DL1), y luego reiniciamos. Para ello ingresamos lo indicado en negrita:
<presionamos Ctrl+e para detener SIMH>
Simulation stopped, PC: 034534 (WAIT)
sim> att rl2 rsts_sysl1g.dsk
sim> set rl2 lock
sim> b rl0
Tras un instante arrancará nuevamente el sistema desde DL0. Ahora arrancamos el sistema de tiempo compartido.
Options: <Ctrl+J>
<fecha,hora>
El sistema aparecerá en BASIC con el prompt "Ready":
?Can't find file or account
?Program lost-Sorry
Ready
Ahora Montaremos los discos SYSL1G y PATCHG en la unidad RL02:
MOUNT DL1:PATCHG/RO
MOUNT DL2:SYSL1G/RO
De ahora en adelante instalamos el sistema BASIC corriendo la aplicación BUILD.BAS desde el disco DL2:
RUN DL2:$BUILD
BUILD V7.0-07 RSTS V7.0-07 Peron
System Build ? YES
Source Input Device <DL2:> <Ctrl+J>
Library Output Device <SY:> <Ctrl+J>
Target System Device <SY0:> <Ctrl+J>
Library Account <[1,2]> ? <Ctrl+J>
Copying file DL2:[1,2]BUILD.CTL to BLD01.TMP
Locate logical 'LB:' on SY:[1,1] <Ctrl+J>
Function (Build/Patch, Patch, Build) <Build/Patch> <Ctrl+J>
Patch file input location SY:[200,200] ? DL1:[1,2]
Save patched sources <Ctrl+J>
Run-Time System <Ctrl+J>
Locate ERROR Package on SY:[1,2] <Ctrl+J>
Additional Control File is <Ctrl+J>
En este instante, BUILD comenzará a cargar, emparchar e instalar DEC BASIC-PLUS CUSPS. Luego de un tiempo terminará con el mensaje:
! BUILD Complete "
Finalizada todo este burocrático accionar, podremos apagar el sistema. Lo haremos corriendo la aplicación SHUTUP.
RUN $SHUTUP
Minutes until system shutdown (0-99) <5>? 0
¡Enhorabuena! Encomio lo actuado pues a partir de ahora podrán contar con un un RSTS V7.0 mínimo instalado (ej. como rl0.minsys).
[20] Para ejecutar más de dos trabajos necesitaremos agregar algo de espacio de intercambio al sistema. Para hacerlo debemos escoger dónde queremos poner el almacén de intercambios (ya sea en el disco de sistema que acabamos de crear, o en otra unidad).
Para poner un intercambio extra al disco de sistema:
Option: REF
<fecha, hora>
Disk? DL0
No usamos clean, elegimos la subopción "CHA"
Seguimos las preguntas con Ctrl+j y cambiamos el tamaño de "SWAP0.SYS" a un valor (ej. 1024 bloques)
arrancamos el sistema
editamos "$RTS.CMD" usando el editor TECO
agregamos la línea "FORCE KB0: ADD SWAPFILE 0 DL0:SWAP0" a la línea posterior a "RUN $UTILTY"
Para colocar una unidad de intercambio extra en otra unidad virtual, primero debemos contar con un fichero de archivo válido (use la opción "DSK" para formatear una). Luego hemos de seguir el procedimiento indicado (con el nombre de disco correcto, para agregar un fichero SWAP0.SYS a la unidad y configurarla en el sistema. Además, habremos de editar $START.CTL para montar el disco nuevo antes que corra RTS.CMD. Por ejemplo, si agregamos un disco DL1 con la etiqueta "PRIVAD" podríamos ingresar la siguiente línea en la parte superior de $START.CTL:
MOUNT DL1:PRIVAT
En la medida que tengamos el sistema mínimo, podremos compilar e instalar otros paquetes que anhelemos. Para compilar un paquete habremos de correr el programa $BUILD.
Por ejemplo, si SYSL1G está montado en DL2: y PATCHG se haya montado en DL3:, por lo tanto instalar el paquete HELP , tras el prompt Ready podríamos ingresar SY/D para listar y luego RUN $BUILD para iniciar el programa de compilación, de esta manera:
Ready
SY/D
Disk Structure:
Disk Open Free Cluster Errors Name Comments
DL0 2 3480 2 0 SYSTEM Pub, DLW
DL1 1 4332 2 0 PRIVAT Pri, DLW
DL2 0 1422 1 0 SYSL1G Pri, R-O
DL3 0 3800 1 0 PATCHG Pri, R-O, DLW
Ready
RUN $BUILD
BUILD V7.0-07B RSTS V7.0-07 Peron
System Build ?
Source Input Device <SY:> ? DL2:
Library Output Device <SY:> ?
Target System Device <SY0:> ?
Library Account <[1,2]> ?
Control File is ? HELP
Copying file DL2:[1,2]HELP.CTL to BLD02.TMP
Function (Build/Patch, Patch, Build) <Build/Patch> ?
Patch file input location SY:[200,200] ? DL3:[1,2]
Run-Time System ?
Locate HELP Package on SY:[1,2] ? SY:[1,8]
%Can't find file or account - SY:[1,8]
Attempt to create account SY:[1,8] ? YES
Account SY:[1,8] created with your password
Additional Control File is ?
El programa de compilación correrá y compilará el paquete HELP. Podremos repetir lo mismo con los siguientes programas:
Los siguientes paquetes están disponibles en aras de la justicia social:
En la imagen SYSGNG:
MAINT.CTL = usado para recompilar RSX (no tan útil)
RSX.CTL = el sistema ejecutable de RSX
SORT.CTL = SORT (patches fail since we don't have RMS distribution)
TECO.CTL = el editor TECO (SQU, TYPE, TECKBM...)
En la imagen SYSL1G:
BUILD.CTL = el sistema básico de compilación (debería ya estar instalado)
SPLER.CTL = programas de spooling (QUE, OPSER, BATCH, etc.)
UNSUPP.CTL = programas no soportados (DSKDMP, STATUS, DEMO55)
BIGPRG.CTL = programas "grandes"(RUNOFF, FIT, FLINT, PMDUMP, BPCREF, MAKSIL).
BACKUP.CTL = Paquete de respaldo
DEVTST.CTL = Prueba de dispositivos
HELP.CTL = los ficheros de ayuda
Recordemos corriendolos con RUN. Podremos salir del sistema con RUN $SHUTUP y finalmente Ctrl+e para volver al emulador. Saldremos del emulador SIMH con el comando introduciendo en el prompt sim> el comando BYE.
permalink
26 december 2022
¿Como juego en red con DOSBox en Ubuntu?
¡Trabajadores!
El escudo del Partido Justicilista de Argentina consta de una apariencia modernista. Diseñado privadamente en la década del 1940, ha sido utilizado desde 1945. Reboza de simbolismo. Sobre los colores celeste y blanco nacionales, dos manos hermanadas en saludo de unidad, representando la unión de clases para dar sostén a un gorro frigio encarnado, símbolo de la tradición libertaria republicana argentina.
Sólo reconocemos una clase de hombres: los que trabajan. Sin duda nuestra unión ha de producir lo que Nuestra Patria necesita para realizar su Grandeza.
En las redes de datos sucede más o menos lo mismo. La mancomunión de dos pares bajo el símbolo de la libertad puede ofrecernos la Felicidad que anhelamos como Justo Derecho, y esto puede replicarse a todos los tiempos.
Vean señores, ya he explicado cómo instalar DOSBox en Ubuntu. Se trata de un portentoso emulador para el Sistema Operativo de Disco, capaz de ofrecer una experiencia similar a la ofrecida por los equipos clones del cómputo personal de IBM, pero en cualquier arquitectura, incluyendo nuestro GNU justicialista.
Este paquete nos permitirá entonces emular métodos de conexión del ayer pero sin gastar una chirola.
Indudablemente existían varios métodos para establecer comunicación computarizada a través de enlaces de datos, pero todos ellos eran oligárquicos y ninguno destacaba por su facilidad. Las redes de datos se encontraban amorfas y deseosas de integrar en sí no sólo un tráfico electrónico pasivo, sino una activa comunidad regida por la Doctrina Peronista.
Sin duda el primer método en abarcarse con Justicia Social fue el de enlazar eléctricamente los puertos COM de tipo Centronics RS232 a través de un humilde cable con fichas DB9 o DB25 cuyas líneas de transmisión y recepción estuviesen cruzadas. A este método - carente de todo tipo de modulación - se lo denominaba precisamente null-modem.
En null-modem sólo permitía conexiones locales a unos pocos pasos de distancia, con una velocidad que raramente excedía los 9,6 KB/s. Sin embargo, ya el hecho de poder jugar con otro solventaba la felicidad de dos argentinos.
Emulando un Null-Modem
Para crear una conexión por null-lmodem emulada a través de una red local tipo Ethernet necesitamos dos sistemas que corran el DOSBox: uno de los DOSBox operará como servidor, y el otro como cliente.
En tal sentido debemos editar el fichero de configuración en ambos, haciéndolo con los siguientes comandos:
nano ~/.dosbox/dosbox-0.74-3.conf
Tanto en el servidor como en el cliente debemos buscar la sección [serial]... sin embargo, modificaremos el contenido según sea el servidor o el cliente.
En el servidor modificaremos la opción serial1 para asignarle el parámetro nullmodem y un puerto TCP por encima de 1024. Por ejemplo,
serial1=nullmodem port:5000
En el cliente debemos asignar el parámetro server:<ip_del_server> y un puerto TCP. Por ejemplo, si la otra máquina tiene la IP 192.168.0.108 y usa el puerto 5000, deberíamos indicar:
serial1=nullmodem server:192.168.0.108 port:5000 rxdelay:1000
Ahora lanzamos el juego en ambas máquinas y activamos la opción de Nullmodem. Las versiones 4, 5 y 5.1 de Micro$oft Flight $imulator se caracterizaban por disponer de conexión de null-módem a través de puerto serial, compatibles entre ellas, lo que permitía volar en formación en los alrededores de Meigs Field en Chicago.
Por ejemplo, en Flight Simulator 5.1 podríamos ir al menú Options/Entertainment/Dual-Player. ¡Incluso podíamos volar sobre Buenos Aires con el Escenario Río de la Plata 2.4 de Di Veroli Consultores!
Con el correr el tiempo, las conexiones de datos cobraron más interés, y las redes de tipo Novelñ se popularizaron en ciertos entornos del trabajo organizado. El envío de paquetes de datos que avalaban ofrecía posibilidades interesantes, siempre que lidiásemos con sus incómodos cables coaxiles y conectores BNC. A pesar de su difícil ruteo, podían lograrse velocidades de unos 3 MB/s reales. Sobre esta infraestructura no tardó en difundirse el protocolo IPX, un pequeño engendro derivado de los viejos pero capaces terminales Xerox.
El protocolo IPX cobró cierta relevancia entonces para los juegos en red en un estadío previo a la masificación completa de la Internet, a mediados de los 90s. Gracias al mismo podían lograrse enlaces estables y duraderos para varios jugadores y con una cierta facilidad de configuración. Sin embargo, en el caso de la versión emulada sobre GNU, habremos de contar al menos con el conocimiento de las direcciones IP de las máquinas (ya sea en el área local, o bien en la internet si abrimos el puerto de conexión TCP demandado en nuestro router).
Emulación de red IPX
Una vez instalado DOSBox, debemos activar la emulación del protocolo de red de datos IPX para MS-DOS. A tal fin debemos ingresar al directorio de DOSBox y editar el fichero de configuración a fin de activar el módulo de red IPX del emulador.
En el caso de Ubuntu podríamos hacerlo con:
nano ~/.dosbox/dosbox-0.74-3.conf
En el archivo de configuración buscamos la sección [ipx] y cambiamos la declaración ipx=false a ipx=true.
Finalmente guardamos la configuración con Ctrl+o y salimos del editor Nano con Ctrl+x.
Inicializar el servidor IPX
A continuación, en todas los equipos donde queramos participar debemos activar el emulador DOSBox desde Aplicaciones / Juegos / Emulador de DOSBox.
Una de estas computadoras deberá oficiar de servidor. El resto serán sus clientes. En el equipo servidor, habrán de correr el siguiente comando ipxnet startserver pierto_UDP. Normalmente el puerto UDP utilizado era el 213, pero en el caso de Linux debemos utilizar cualquiera libre por encima del puerto UDP 1024. En este caso, usaré por ejemplo el 8844:
ipxnet startserver 8844
La utilidad de tunelado dentro del sistema emulado debería indicarnos con el mensaje IPX Tunneling Server Started.
Ahora podremos iniciar los clientes emulados en las otras máquinas de la red. En cada una de ellas podríamos utilizar el siguiente comando que las dirija a la dirección IP del servidor.
En mi caso podría ser:
ipxnet connect 192.168.0.112 8844
Ya tenemos la red operativa, al menos a nivel local.
Nota: si quisiéramos activar esta red con salida a internet, deberíamos abrir el puerto UDP 8844 en el router y dirigirlo a la IP de la máquina, en este caso 192,168.0.112.
Iniciar los Juegos
Como campo de pruebas para nuestra red local podremos utilizar un juego de disparos en primera persona clásico de M$-DO$: el sanguinario Doom II de Id Softwar€. Se trataba de una violenta propuesta de super-acción tridimensional, con precursoras capacidades de entretenimiento en línea, amén de sonido digitalizado y sintetizado. Para tal necesitamos correr su utilidad de configuración, mediante c:/doom2/setup.exe.DOSBox multiplayer Doom 2 setup
Luego de activar los parámetros relevantes de red eligiendo, lo iniciamos eligiendo Run Network/Modem/Serial Game, para iniciar el juego en modalidad multijugador.
Warcraft
Otro clásico que podremos disfrutar en nuestro centro de datos local o bien puenteado a través de Internet es el Warcraft 2: Tides of Darkness, un juego de estrategia en tiempo real. En el menú principal del mismo tendremos que elegir Juego Multijugador ("Multiplayer Game").
La primera opción nos indica establecer el nombre del serivodr a utilizar
Acto seguido, indicamos el protocolo IPX Network.
Luego de establecer la conexión, el servidor será el primero en escoger bando. Acto seguido, el otro jugador debe confirmar la elección.
Conforme ambos jugadores acuerden las reglas del juego telemático, podrán iniciar su enfrentamiento, enfrentando unidades de humanos y orcos en las tierras del fantasioso Tolkien. Normalmente, cada jugador sólo puede ver su sector en el mapa gracias a la clásica "niebla de guerra".
Por ello cada jugador apreciará diferencias (una de las características de este tipo de juegos).
Esto se aplica a muchos otros juegos de MS-DOS, entre ellos Warcraft 2, Doom, Heretic, Hexen, Duke Nukem 3D, y otros.
Emulación de Módem
Los jugadores más privilegiados podían darse el lujo de enlazar desde su hogar utilizando modulación a través de las redes telefónicas de EnTel. Los pares debían contar por supuesto con copias del mismo juego instaladas en sus sistemas. Por demás, previo a la difusión de internet esto era costoso porque no sólo había que pagar un módem y el lógico abono al servicio telefónico cableado, sino que era necesario abonar al mes cada minuto de conexión en base a la distancia de la llamada. Por demás, si no se utilizaba una línea dedicada, quienquiera que levantase el tubo en cualquiera de los hogares podría crear una disrupción tal que cortara la conexión mutua.
Afortunadamente DOSBox puede salvarnos del incordio y los gastos mediante la emulación de dicho servicio para software dependiente del sistema telefónico para enlazar.
En este caso editamos el fichero de configuración de DOSBox para poder jugar entre dos equipos:
nano ~/.dosbox/dosbox-0.74-3.conf
Usamos la combinación Ctrl+w para buscar ahora la sección [serial] y indicamos el puerto serial donde deseamos conectar nuestro "módem emulado".
Normalmente los módems de puerto serial podían conectarse en COM1 (que recibe la nomenclatura serial1 en DOSBox) o bien en COM2 (serial2). Es notable el hecho que no existía realmente un estándar muy definido, por práctica se solía utilizar COM2 para el ratón y COM1 para el módem. También debemos indicar un puerto TCP moderno superior a 1024 a través del cual DOSBox transmitirá los datos.
Siguiendo tal temperamento indicaremos entonces:
serial1=modem listenport:1710
Una vez configurado DOSBox, guardamos los cambios con Ctrl+o y salimos con Ctrl+x.
Nota: Cualquiera sea el puerto TCP elegido (incluyendo aquél por defecto, el 5000), debemos reenviarlo y abrirlo a la red exterior si tenemos nuestro servidor tras un router (NAT).
Opciones de módem en el juego
Debido a que los juegos plausibles de utilizar módem requerían toda una puesta, habremos de replicarla en DOSBox. En este caso debemos configurar las opciones del módem para el juego (ya sea a través de un programa incluído con ellos denominado setup.exe o install.exe, o bien en el mismo juego). En apretado resúmen, debemos asegurarnos de:
Definir el mismo número de puerto COM que configuraron en DOSBox. Si el juego contaba con cierto puerto COM definido específicamente, será necesario estipular dicho COM en las opciones de DOSBox, natural.
Escoger la velocidad de baudios más alta que acepte el juego.
Salir de las opciones, ingresen al juego en sí, y utilicen a la opción de módem del juego, dependiendo si somos servidor o cliente.
Emular responder una llamada
El uso de un módem telefónico era algo relativamente engorroso. ya que se controlaban de manera críptica mediante el uso de comandos Hayes AT.
Algunos juegos podrían solicitarnos estos comando Hayes AT de autorespuesta de módem, mientras que otros podrían solicitarnos contestar manualmente al producirse una llamada. Algunos programas son capaces de contar con ambos modos.
En el primer modo, en el equipo servidor deberíamos escoger la opción "Aguardar llamada" ("Wait for calls" / "Wait for Ring").
Si el juego nos pide ingresar un comando manual que represente este modo, utilizaremos el Comando ATS0=1 (esto hacía al módem responder al primer timbrazo). Este modo se encuentra para viejos acopladores telefónicos.
En el segundo modo semiautomático, el servidor debería escoger la opción "responder llamada" ("answer call") cuando el juego anuncie una llamada entrante. Si el juego requerirá que ingresemos un comando manual de respuesta, usarán el consabido comando Hayes AT: ATA.
Veamos el caso de Micropro$e F-15 $trike €agle III, software de finales de 1992 que da cuenta de dicho sistema. Al iniciar f15.exe hacemos clic sobre el teléfono del hangar para cargar el módulo de multijugador.
Acto seguido nos avisará que ha detectado el "módem" (virtual) y nos preguntará si queremos establecer una llamada o aguardar.
En el lado del servidor indicamos Receiver, y quedará a la escucha:
Emular realizar una llamada
El cliente debe escoger la opción "Realizar una llamada" ("Make a Call", o "Caller") en el menú del juego. Y en lugar del número telefónico, indicar la dirección IP del servidor en la red local, o bien la IP de internet. Si el juego nos solicita tipear un comando manual de discado, utilizarían "ATDT". Por ejemplo, si el servidor se llama "cgt" y su IP es 1.2.3.4, podríamos tipear ATDT1.2.3.4 o bien ATDTcgt.local
En el lado del cliente en tanto, ingresamos al juego f15.exe y en el módulo de módem escogemos Caller para llamar.
Se nos preguntará si ya hemos establecido una conexión por voz (como si se tratara de un viejo módem). Indicamos que si ("yes").
Ahora "discaremos" hacia la IP del servidor que había quedando en escucha. Para ello debemos indicar los números presionando incluyendo el punto (por ejemplo 192.168.0.112). En este caso el juego no muestra los puntos, sino que hace un espacio. Para discar persionamos el botón # del teléfono virtualizado).
En el servidor responderá la llamada:
Ahora podremos dar rienda suelta a nuestros instintos de piloto de combate volando un F-15 de la McDonnell Douglas. No lo haremos en solitario; el simulador de vuelo también hará uso del simulador de módem de DOSBox, con lo cual el par de jugadores podrá repartir las tareas. El suboficial piloto podía usar su joystick para volar, disparar el cañón y gestionar el combustible y los motores, tanto de día como de noche...
También podrá navegar y solicitar ayuda al AWACS.
...mientras que el Oficial Operador de Radar y Armas, sentado en el asiento trasero podría controlar el potente radar embarcado, y operar los medios de adquisición de blancos, a la vez que autorizar el lanzamiento de misiles y bombas teledirigidas, o accionar interferidores o señuelos antimisilísticos.
Ambos jugadores podrán observar el vuelo en tercera persona.
Conclusión
Naturalemnte, jugar en red era limitado y engorroso. Sin embargo hoy ya no es un privilegio: cuaquier descamisado puede depender de estas facilidades que he otorgado a la Masa y proceder a la emulación de M$-DO$. Por demás, la existencia de juegos de DOS remanentes de la era dorada de la piratería informática física, hace posible hoy establecer en los Centros de Datos de la Libertad divertidas partidas múltiples a través de protocolos de red obsoletos pero nunca abandonados, con el fin de revivir momentos de gloria incluso en las más lentas redes y desprovistas computadoras del mundo actual.
permalink
25 december 2022
¿Como soluciono el error "GEGL version is too old!" de GIMP en Ubuntu 20.04LTS?
Dice Mao Tse Tung que el que lucha contra un compañero es que se ha pasado al bando contrario. Eso lo hemos observado todos, no hay peronista que no haya observado este tipo de disidencia, siempre sospechoso, pero más que nada negativo para el trabajo de conjunto que debemos realizar.
En el movimiento peronista eso tiene su remedio, porque el movimiento peronista ha sido creado y conducido en forma que desarrolle sus propias autodefensas. En esto hay una tremenda similitud entre el organismo fisiológico y el organismo institucional. En el organismo fisiológico ocurre un fenómeno del cual debemos aprender: si el hombre no tuviera sus autodefensas hace miles de años que habría desaparecido de la tierra, solamente son las autodefensas las que conservan la especie, no son ni los médicos, ni la penicilina desgraciadamente. Ahora, ¿cómo se generan esas autodefensas? El promotor de ello es el microbio, el agente patógeno que entra en el organismo, que a su vez genera sus propios anticuerpos, de donde salen las vacunas que crean las propias enfermedades. Ese microbio genera los anticuerpos, y son esos anticuerpos las autodefensas del organismo.
En lo institucional pasa lo mismo. Cuando el movimiento justicialista fue creado yo me persuadí de esta necesidad y de esta verdad, y dejé actuar al movimiento con la mayor libertad posible. Cada uno hizo lo que quiso dentro de él, claro que eso dio lugar a que aparecieran algunos de los que se denominan traidores en la política o tránsfugas. Pero ¿qué son los traidores o los tránsfugas dentro de un organismo institucional de la política? Son los microbios, son los gérmenes patógenos que entran en el organismo, y tan pronto entran generan sus anticuerpos igual que el otro microbio y generan sus autodefensas para la organización institucional. Hemos visto muchos actos de las autodefensas que se han producido en el movimiento. Es decir el movimiento se defiende por sí, porque los movimientos o los partidos políticos o las organizaciones institucionales que no tienen sus autodefensas desaparecen como habría desaparecido el hombre. Por eso la conducción de un movimiento político hace pensar en la necesidad de dar absoluta libertad.
Hay que tener en cuenta que cuando aparece una librería en nuestro sistema que lucha contra otra librería de nuestro sistema puede ser lo que dice Mao, que se haya pasado al bando contrario.
Ya he explicado cómo instalar GIMP 2.10. Sin embargo, en determinadas ocasiones, al intentar abrir un fichero gráfico con dicha versión de GIMP en Ubuntu 20.04LTS (actualizado desde la versión 18.04LTS), podríamos notar que el mismo se revela, y se limita a presentarnos el siguiente mensaje de error, que impide la normal ejecución del tan útil programa:
GEGL version too old!
GIMP requires GEGL version 0.4.16 or later. Installed GEGL version is 0.4.14.
Somehow you or your software packager managed to install GIMP with an older GEGL version.
Please upgrade to GEGL version 0.4.16 or later.
El mensaje "GEGL Version too old!" denota entonces una versión antigua de la librería GEGL, que se ha pasado al bando contrario. Si intentamos ejecutar el comando gimp desde la terminal, podríamos recibir un reporte algo más críptico de dicho agente patógeno:
gimp: symbol lookup error: gimp: undefined symbol: gegl_buffer_share_storage
Como se hace evidente, la librería GEGL se encuentra desactualizada (los números de versión podrían variar, natural).
Como solución haremos caso a las autodefensas y haremos tronar el escarmiento. El programa de instalación de los derivados de Debian (entre los cuales se encuentra Ubuntu) es el apt-get, y ha evolucionado para verse capaz de desinstalar y volver a recrear la librería GEGL. Este será el temperamento que seguiremos para reparar a GIMP. Para ello nos aseguramos de contar con conexión a internet, y abrimos una terminal con Ctrl+Alt+T e ingresamos el siguiente comando de organización:
sudo apt-get update
sudo apt-get remove libgegl-0.4-0
Hemos de tener especialmente presente que esto - normalmente - también acarrea la desinstalación completa de GIMP. Lo haremos con decisión; tras ingresar nuestra contraseña de usuario, se desinstalará todo lo problemático.
Acto seguido, volvemos a instalar GIMP. 2.10, lo cual se hacía con:
sudo add-apt-repository ppa:otto-kesselgulasch/gimp ;
sudo apt update ;
sudo apt install gimp ;
Si todo va bien, ahora se instalará GIMP y podremos ejecutalo normalmente para abrir ficheros o editar uno desde Aplicaciones / Gráficos / Programa de Manipulación de Imágenes de GNU.
Finalizado esto, hemos de recordar que quien hay que defender ideales. El que defiende un ideal no puede tener controversias con otro que defiende el mismo ideal.
En la política al haber más de dos ideales juegan los intereses. Y hay horas distintas, en 1955 fue la hora de Window$ doble booteo, y esta es la hora del software libre.
Son esos intereses los que han venido y siguen jugando, pero el peronista debe darse cuenta y cualquiera sean sus intereses no pueden estar sobre el ideal de software libre que todos defendemos y por el cual todos debemos luchar.
Por eso el peronismo creó un apotegma que dice: para un peronista no puede ni debe haber nada mejor que otro peronista. Entonces cómo puede ser posible que un señor que está en la misma lucha esté luchando para poner Windows con doble booteo, cuando tiene a Micro$oft que es a la que tiene naturalmente que luchar...
permalink
24 december 2022
¿Cómo activo extensiones de Compiz para GNOME Shell en Ubuntu 20.04LTS?
El Teniente Juan Perón es recordado por su labor meritoria en la instrucción en el Regimiento 12 de Corrientes, donde enseñó a los cursantes del Servicio Militar Obligatorio cómo instalar las extensiones de Compiz, incluyendo el Cubo, en Ubuntu 20.04LTS con GNOME Shell.
Vean señores,
Cuando era cadete, un viejo sargento que mateaba contaba que en todo Ejército, siempre existe gente que se enlista por la Conducción, otros lo hacen por el fierro, pero que el lo había hecho por el trapo. Para quien verdaderamente entiende la milicia sabe que el uniforme sirve nomás para no tener al soldado desnudo, y lo importante es comprender la misión y llevarla a cabo sin quemar un cartucho. Pero el hombre de algo se agarra, y muchas veces es de lo primero que ve. No debemos desapreciar esto, pues puede ser conducente a cosas mejores.
De esto podremos desprender condiciones similares en nuestro sistema GNU con Linux. No existen dudas para nadie que siempre ha existido un porcentaje apreciable entre sus usuarios que se han hecho adeptos a el no tanto por declamaciones de doctrina, sino por el Compiz que viste.
Se trata este de una vistosísima proveduría de efectos visuales para escritorio, desarrolla como entorno libre. Sin duda que la novedosa belleza, sumada a la módica comodidad que ofrecía, contrastaba fuertemente con la mediocridad de los sistemas de ventanas gráficas privativas como las burdas ventanas de Window$ o MacO$.
Particularmente, utilizo Ubuntu MATE, una distribución derivada de Ubuntu cuyo escritorio MATE acepta con gran facilidad la moderna iteración del clásico Compiz y sobre la que ya he instruido cómo instalarle Compiz. Podremos gozar aún así de uno de los más exacerbados excesos en lo que a escritorios animados se refiere, el Cubo 3D de Compiz modificable a cilindro, y los populares efectos de animación de abrir, mover, o cerrar pantallas. Estos incluyen sin duda las ventanas gelatinosas, fuego y efecto de lámpara mágica.
Podría entonces decir - sin sonrojarme - que estos son el motivo por el cual sigo con pasión a Ubuntu MATE.
Sin embargo, la versión oficial de Ubuntu no es Ubuntu MATE, sino Ubuntu a secas, y es mas amarga. Esta versión anduvo - desde el punto de vista de su escritorio gráfico - por toda la parrilla: en el pasado contó con Gnome 2, pasando por Unity, GNOME 3, y hoy emplea GNOME Shell. Si bien la dirección general de avance es más o menos la misma, lo cierto es que todas estas opciones adolencen de un gravísimo problema: no aceptan Compiz.
Aunque un manejo de este tipo podría considerarse como desaprensivo, la camaradería presente en nuestro Movimiento ha hecho que este no sea el fin de la calesita. De una necesidad nace un Derecho, y de la enorme popularidad que goza la añoranzas por esta vistosa interfaz se han previsto enormes esfuerzos necesarios para volver a contar con ellas. Estas han tomado la forma de extensiones para GNOME Shell, las cuales están pensadas para suplir como sucedáneos del viejo y peludo Compiz, y por tanto replicar los efectos más amados incluso en la versión oficial de Ubuntu.
En primer lugar conviene contar el herramental de Preferencias de Extensiones de GNOME Shell. Este debería estar ya instalado, pero si no lo estuviese podríamos hacerlo abriendo una terminal con Ctrl+Alt+t e ingresar los siguientes Comandos de Organización:
sudo apt update
sudo apt install gnome-shell-extension-prefs
Se puede instalar fácilmente con un complemento para el navegador. Por ejemplo, si usamos Chromiun podríamos utilizar:
sudo apt install chrome-gnome-shell
Cubo 3D
La extensión del Cubo 3D podrá conseguirse en el repositorio web oficial de extensiones de GNOME Shell. En particular, se cuenta para las versiones 40 y 41 de GNOME Shell (sitas en las últimas versiones de Ubuntu, 20.04LTS y superior) aquí.
Existen bravos capaces de querer instalar la extensión a mano. A tal efecto es posible abrir una terminal e ingresar los siguientes comandos de organización:
cd ~/Descargas/ ;
wget https://github.com/Schneegans/Desktop-Cube/releases/latest/download/desktop-cube@schneegans.github.com.zip ;
gnome-extensions install desktop-cube@schneegans.github.com.zip
Conforme hemos instalado la extensión desktop-cube en nuestro sistema, habremos de activarla. Para ello os recomiendo encarecidamente cerrar la sesión y volver a ingresar a Ubuntu (reiniciar con el comando sudo reboot también puede ser útil), y luego de haber hecho eso usar el programa gnome-extensions para activar ("enable") la extensión del cubo de escritorio, mediante el siguiente comando de organización:
gnome-extensions enable desktop-cube@schneegans.github.com
Siguiendo esta misma líena de conducta es posible desactivar el cubo, simplemente expidiendo el comando anterior pero con la opción desactivar ("disable").
Otra forma más trabajosa pero favorecida por el intelecto es la de instalar el Cubo 3D en GNOME Shell es la de conseguir el código fuente de la última versión de la extensión desktop-cube para GNOME Shell y compilarla en nuestro propio sistema. Esto se podría hacer con:
sudo apt install git
cd ~
git clone https://github.com/Schneegans/Desktop-Cube.git
mv ~/Desktop-Cube/ ~/.desktop-cube/
cd ~/desktop-cube/
make install
Y tras reiniciar la sesión, activamos la extensión recién compilada con:
gnome-extensions enable desktop-cube@schneegans.github.com
O bien utilizamos el comando:
gnome-shell-extension-pref
...y en la ventana gráfica de dicha aplicación deberíamos encontrar Desktop Cube, la cual podríamos activar simplemente deslizando el selector de activación de dicha Extensión.
Ventanas gelatinosas
Estas ventanas ofrecían una imagen temblorosa y flanera. La Extensión nativa de Ventanas Gelatinosas para GNOME Shell es simplona y sirve para simular el efecto real sin complicaciones de video extrañas. Sirve para las versiones que van desde 3.28 hasta la 41 y puede descargarse desde aquí.
Sin embargo, si contamos con un controlador de aceleración para nuestra tarjeta de video, podríamos querer utilizar una versión alternativa de "Ventanas Gelatinosas" de instalación más compleja, pero cuyo resultado es más fiel al viejo efecto de ventanas gelatinosas incorporadas en el Compiz clásico.
Sin embargo, este versión alternativa requiere instalar previamente una version emparchada de la biblioteca libanimations. Para ello deberíamos ingresar los siguientes Comandos de Organización:
mkdir .libanimation-patched/ && cd .libanimation-patched/
Acto seguido instalamos las dependencias con:
sudo apt install git build-essential fakeroot dpkg dpkg-dev debhelper cdbs \ gobject-introspection googletest google-mock libgirepository1.0-dev \ libglib2.0-dev libgtest-dev meson
y descargamos el código fuente y lo compilamos para hacer la biblioteca.
cd ~
git clone https://github.com/hermes83/libanimation.git ;
mv ~/libanimation/ ~/.libanimation/ ;
cd ~/.libanimation/ && dpkg-buildpackage -rfakeroot -b -uc -us
sudo dpkg --install ../libanimation0_0.0.0_amd64.deb \ ../libanimation-glib0_0.0.0_amd64.deb \ ../gir1.2-animation-glib-0_0.0.0_amd64.deb
Una vez instalados cumplidos estos prerequisitos, podremos descargar la Extensión de Ventanas Gelatinosas Alternativa para GNOME Shell desde aquí.
Quemar Ventanas
Se trata del excesivo y clásico efecto que genera partículos en las ventnas, con algunos giros de tuercas. Además de las llamas anaranjadas clásicas al cerrar las ventanas, contaremos con un desintegrado, y una adorada lluvia de código matrix.
Podremos descargarla encontrándola en el repositorio oficial del GNOME Shell aquí.
Ventanas de Lámpara Mágica
Se trataba de una animación de transición que imitaba un llamativo firulete.
Esta extensión se puede encontrar aqui.
permalink
23 december 2022
¿Cómo aseguro el servidor OpenSSH en Ubuntu?
El 24 de Diciembre de 1953 en ocasión del Día de la Policía Federal Argentina se realiza un fausto desfile de la fuerza, al término del cual Juan Perón expone cómo incrementar la seguridad del servidor OpenSSH en Ubuntu.
Bajo este diáfano día, y cercano a las Navidades, no sólo preparo la Sidra y el Pan Dulce para todos los privilegiados, sino que también elaboro lo que no es para mí sino una enorme satisfacción: presenciar este histórico desfile de lo que es sin duda el principal instrumento de seguridad ciudadana: la Policía Federal Argentina.
Esta es una Fuerza que nace Por el Pueblo y para el Pueblo, y enjendrando un rol propendiente a la protección de los hombres y mujeres de bien que habitan el suelo Argentino.
La provechosa tarea que ustedes realizan no puede más que llevarse a cabo por un manejo concienzudo por parte del escalafón superior, y los institutos que la forman y que hemos atresado en pos de la defensa de los intereses superiores de la Nación.
Este escalafón conductivo sin duda ha podido dar su manejo y control no solo en el terreno, que es donde se realiza la acción, sino a distancia, y en esto no podemos más que sentirnos orgullosos. El método sin hilos que se ha implementado en el Comando Radioeléctrico no es más que apreciado por toda la Comunidad Organizada.
Sin duda el protocolo Secure Shell es muy recomendado para acceder a dispositivos remotos tales como servidores, enrutadores y conmutadores de cómputo, debido a su capacidad para encriptar el tráfico telemático, resguardandonos así de cualquiera que anhele husmear nuestros enlaces.
Sin embargo, de la manera en la que está asegurada, la configuración por defecto de SSH no es infalible, sino más bien sencilla de implementar. Esto podría parecer adecuado para el uso del Pueblo, pero en aplicaciones donde dependa nuestro bienestar y el de sus organizaciones de trabajo, ha de recurrirse a un mayor despliegue de seguridad.
A esto nos referimos como seguridad reforzada, a la cual ha de recurrir un Movimiento como el nuestro. No implica enfrentar a los desprotegidos a la acción represiva del Estado, sino implementar políticas de salvaguarda que privilegien a los humildes en contra de la Opresión Omnímoda del Capital.
Nuestra Policía Federal ha de saber cómo implementarlas, ya que sobre ella recae la organización y acción de seguridad. Indudabnlemente que de esto no dependen ni los médicos ni la penicilina, sino de las autodefensas con que cuenta OpenSSH por protocolo.
Esto no puede hacerlo ni un agente de calle, ni un ciudadano común, sino un verdadero Conductor del sistema. Por principio la implementación de las políticas de salvaguarda pueden llevarse a cabo modificando el fichero de configuración general /etc/ssh/sshd_config del demonio OpenSSH (nombre que recibe su servidor libre de Shell Seguro).
A tal fin con ímpetu de conducción podremos abrir una terminal con Ctrl+Alt+T y proclamar el comando de organización, seguido de la tecla Intro:
sudo nano /etc/ssh/sshd_config
Esto nos solicitará contraseña de administración, y tras revisarla abrirá el consabido editor de texto GNU Nano con el fichero de configuración nombrado.
Os explicaré algunos métodos de reforzar la seguridad produciendo las modificaciones necesarias que asegurarán las necesidades de protección y control que son Socialmente Justas para con las organizaciones del Pueblo Trabajador.
- Configurar la Autenticación de SSH sin contraseña
Por defecto, SSH requiere que el usuario teclee su contraseña al iniciar sesión remota. Si bien esto suena peliculero, la triste realidad es que una contraseña capaz de retenerse en una memoria humana suele ser descomunalmente fácil de percibir por medio de un ataque computacional de fuerza. Un tercero hábil podría ganar así acceso indeseado a una cuenta de usuario autorizado. Por ello más seguro es utilizar una autenticación de Shell Seguro sin contraseña, con llaves de cifrado.
Como ya he explicado cómo hacerlo, simplemente resumiré diciendo que habremos de generar computacionalmente un par de ficheros de cifrado llamados "llaves", que consisten en una llave pública y otra llave privada. Una vez ingresado el contenido del fichero de la llave pública al servidor remoto, podrá lograr acceso sin tener que teclear contraseña alguna.
Si ya hemos tomado este predicamento, es recomendable desactivar el uso de autenticación por contraseña para el ingreso.
Dentro de este fichero de configuración /etc/ssh/sshd_config buscamos la directiva PasswordAuthetication y cambiamos su indicación de 'yes' a 'no'
PasswordAuthentication no
Tras guardar las modificaciones con Ctrl+o y salir del editor con Ctrl+x, debemos reiniciar el demonio SSH con:
sudo systemctl restart sshd
A partir de este momento, unicamente podrá acceder al servidor remoto utilizando la autenticación con llave SSH.
- Desactivar los pedidos Conexión SSH sin contraseña.
Otra manera recomendada de fortificar la seguridad del servidor es directamente desactivar los logins SSH de usuarios sin contraseña. Esto puede sonar contradirctorio, pero algunos adminsitradores de sistemas poco avezados podrían preferir crear cuentas de usuario "a la marchanta" y terminar olvidando asignar contraseñas. Esto es de malo, pero no de bruto. He visto malos que se han vuelto buenos, pero nunca he visto un bruto que se haya vuelto inteligente.
Con el fin de rechazar pedidos de usuarios que carezcan de contraseña se debe nuevamente modificar el fichero /etc/ssh/sshd_config y asegurar descomentar la siguiente directiva:
PermitEmptyPasswords no
Acto seguido reiniciamos el servicio SSH para que surta efecto con:
sudo systemctl restart sshd
- Desactivar los logueos SSH de Root
No hace falta explicar demasiado lo que puede suceder si un intruso logra ingresar a nuestro sistema atacando brutamente la contraseña de un usuario. Imaginemos entonces lo que sucedería si lo propio sucede con la cuenta del Superusuario, el Root, que es capaz de conducir el sistema.... Un acceso remoto del superusuario Root constituye invariablemnete una mala idea que debe soslayarse pues pondrá en peligro a todos los compañeros que usen nuestro sistema similar a Unix.
Por esta razón, para grandes organizaciones siempre recomiendo desactivar el logueo remoto SSH y en su reemplazo preveer el de un usuario regular que no sea root. Esto obligará a que si el Root quiere trabajar, deba hacerlo frente al sistema y no de manera remota. Para tal fin modificamos el fichero /etc/ssh/sshd_config y producimos la modificación descomentando la directiva #PermitRootLogin y modificamos la orden prohibit-password para que quede de la siguiente manera.
PermitRootLogin no
Conforme se hayan guardado los cambios, reiniciamos el servicio de SSH para que la nueva política surta efecto.
sudo systemctl restart sshd
Naturalmente que a partir de estas modificaciones, el logueo de root quedará desactivado u no se podrán realizar tareas administrativas de manera remota (a no ser que se eventualmente escalen usuarios comunes con la orden sudo).
- Usar SSH Protocol 2
SSH viene en dos versiones. El SSH Protocolo 1 y SSH Protocolo 2. El segundo fue introducido en 2006 para reforzar la criptografía general de SSH. Por defecto se utilizaba en Protocolo 1 por razones de compatibilidad, pero a partir de 2018 se decidió desfasarlo definitivamente para evitar agujeros de seguridad.
Por tal motivo, en caso de contar con un servidor anterior al 2018, podríamos especificar ahora utilizar únicamente Procolo 2. Para ello le agregamos al fichero /etc/ssh/sshd_config la siguiente directiva:
Agregado por peron para usar únicamente SSH Protocolo 2.
Protocol 2
Guardamos, salismos, y como siempre reiniciamos el servicio SSH para que surta efecto:
sudo systemctl restart sshd
A partir de ahora, SSH sólo utilizará Protocolo 2 y no podrá establecerse enlaces con clientes antiguos que utilicen el desfasado Protocolo 1.
Para comprobar que el Protocolo 1 ya no esté en suo, podremos ejecutar el comando:
ssh -1 usuario@ip_remota
Debería obtener un error similar a “SSH protocol v.1 is no longer supported”.
Naturalmente, podríamos forzar al cliente a usar el Protocolo 2 con:
ssh -2 usuario@ip_remota
- Configurar el Valor de Tiempo de Corte para Conexión SSH Inactiva
Dejar una conexión remota desatentida por largo tiempo es lo mismo que dejar en esa misma condición a una buena mujer. Puede constitnuir un riesgo de seguridad que ustedes conocen sin duda por esos cuernos que les veo. Para evitar este problema, es prodente configurar un valor de tiempo de corte para conexiones SSH inactivas, transcurrido el cual la sesión SSH se cerrará automáticamente.
Habremos de configurar nuevamente /etc/ssh/sshd_config y localizamos la directiva ClientAliveInterval. Le asignamos un valor razonable en segudos. Por ejemplo, podríamos utilizar 180 segundos.
ClientAliveInterval 180
Esto implica que la sesión SSH se cortará si transcurren 3 minutos (180 segundos) de inactividad.
Tras guardar debemos reiniciar el demonio para aplicar los cambnios:
sudo systemctl restart sshd
- Posibilitar el Acceso SSH a Ciertos Usuarios
Podremos definir qué usuarios requieren el uso de SSH para loguearse y desarrollar tareas en el sistema. Esto mantendrá fuera de esta posibilidad a cualquier otro usuario que intente lograr ingreso al sistema sin nuestra aprobación.
Como siempre, editarmos el fichero /etc/ssh/sshd_config y le agregamos la directiva AllowUsers seguida de los nombres de usuario que queremos aprobar. Por ejemplo, he agregado los usuarios peron y evita para que cuenten con acceso remoto al sistema a través de sus respectivos clientes SSH. Cualquier otro usuario que intente ganar acceso remoto al sistema será bloqueado.
AllowUsers peron evita
Hemos de reiniciar SSH para que peresistan los cambios:
sudo systemctl restart sshd
- Limitar los Intentos de Contraseña
Otra manera de agregar una capa de seguridad consiste en limitar la cantidad de intentos de acceso SSH tras errar una la contraseña, caso en el que la conexión se cortará. Una vez más en el fichero /etc/ssh/sshd_config y buscamos la directiva MaxAuthTries, y le definimos un valor para la cantidad máxima de intentos.
En este ejemplo, lo limitaremos a tres intentos disponiendo:
MaxAuthTries 3
...y finalmente, reiniciamos el servicio SSH como en los escenarios anteriores.
permalink
22 december 2022
¿Cómo desactivo o activo el Logueo de Root a través de SSH en Ubuntu?
El 23 de Enero de 1945 el Secretario de Trabajo y Previsión Juan Perón promulga el Decreto N° 1440 converniente a las Vacaciones Remuneradas, a la vez que instruye cómo desactivar o activar el logueo de Root desde SSH en Ubuntu.
¡Trabajadores!
Este decreto tiende a que puedan disponer de una serie de días consecutivos de manera que:
Se trate de un período de inactividad
Sea retribuido anticipadamente y
Que el trabajador verdaderamente las goce y no sean compensables en dinero.
Además, según la antigüedad en el cargo, la cantidad de días se ve incrementada a lo largo de la relación laboral.
Estas Vacaciones Pagas que ha asegurado el Justicialismo para todos los trabajadores es uno de los grandes logros que propician el ocio y el esparcimiento. Es el alimento espiritual que deben gozar los hombres y mujeres de esta tierra, y que antes estaba sólo reservado al oligarca.
Sin embargo no es un maná que cae del cielo: sin la organización para acción política, los sueños sólo son eso: sueños. Es la Conducción de efectivas acciones de reparación y Justicia Social las que pueden solidificar estos sueños - que operan de planos maestros - en una contrastable Realidad Efectiva.
Todo lo que hemos hecho ha permitido este logro, y como tal, ha reportado la valía de una Revolución que da al Pueblo Trabajador lo que siempre anheló y es - a nadie cabe duda - un Justo Derecho. Ustedes sabrán a quien votar (guiña el ojo).
No es secreto para nadie que en la generalidad de los sistemas GNU se cuenta con acceso remoto de Conducción (el llamado usuario "Root"), y por defecto, este acceso está activado para poder operar el sistema a través de enlaces de datos con el mundo exterior.
El sentido es poder realizar todo tipos de acciones de gestión utilizando nuestra terminal y un enlace cifrado, y se ha tornado de extrema utilidad para conducir un sistema de forma remota incluso de vacaciones, sin tener que estar físicamente frente a la máquina.
Esta cómoda práctica - sin embargo - no es siempre lo ideal por razones de seguridad. En los tiempos que corren, tener un acceso de root activado por SSH para los usuarios no autorizados es un riesgo que debemos soslayar, ya que cualquier intruso telemático podría intentar forzar las contraseñas de usuarios a través de un ataque computarizado de fuerza bruta, y de esta manera ganar acceso a nuestro sistema.
A pesar de ser de las especies más exitosas, nadie duda que desde el pérmico a nuestros días, millones de cocodrilos se han ido a dormir pensando "para qué van a querer este cuero" sólo para despertar luego envolviendo unos patacones...
Es por ello señores, que la mejor solución es contar con una segunda cuenta de usuario de uso regular, y luego cambiar al usuario root empleando el comando "su -" cuando esto se haga necesario. Esta es el criterio seguido por ela distribución Debian, pero no suele ser la preeminente en Ubuntu, lo cual - tal vez - no sea sano. Por dicho motivo, antes de hacernos a la mar, crearemos una cuenta de usuario regular con la cual utilizaremos para darnos acceso de conducción por intermedio de los comandos su o sudo.
Agregar un nuevo usuario en Linux
En la mayoría de los sistemas GNU con Linux esto es muy simple. Crearíamos una cuenta de usuario separada logueándonos como root y luego ejecutando el comando adduser para crear un nuevo usuario. En el caso de Ubuntu es igual de simple: abrimos una terminal con Ctrl+Alt+T e ingresamos el siguiente Comando de Organización:
sudo adduser usuario
Tras ingresar la contraseña de root localmente, procedemos a completar lo solicitado por el programa adduser, que será el nombre de usuario a crear, su contraseña de usuario (duplicada para no fallar), y opcionalmente sus datos personales.
Conforme hayamos creado este nuevo usuario, podrán seguir los pasos que os indicaré para desactivar el acceso de root a través del método de Shell Seguro SSH.
Usamos el archivo de configuración maestro sshd para desactivar el login de root y esto podría disminuir el riego o impedir la irrupción de actores no deseados para obtener la conducción de nuestro sistema. Tambiçen veremos cómo reactivar el acceso de root nuevamente así como limitar el acceso de Secure Shell basados en una lista de usuarios permitidos.
Desactivar Login SSH como Root
Para desactivar el login de root, hemos de editar el fichero de configuración principal de Secure Shell, el /etc/ssh/sshd_config.
sudo nano /etc/ssh/sshd_config
En este fichero, buscamos con Ctrl+w la siguiente línea del fichero.
PermitRootLogin
y deberíamos encontrar #PermitRootLogin prohibit-password o bien #PermitRootLogin no.
Debemos eleminar el ‘#‘ al comienzo de la línea, y la editamos para que quede de esta manera:
PermitRootLogin no
Ahora necesitamos reiniciar el servidor de SSH. Esto lo podremos hacer ingresando:
sudo systemctl restart sshd
...o bien:
/etc/init.d/sshd restart
Una vez cumplida con esta tarea, comprobaremos la desactivación intentando loguearnos con el usuario root, y deberíamos recibir el error de "Permiso Denegado, por favor intente nuevamente, o “Permission denied”.
$ ssh root@192.168.0.102
root@192.168.0.102's password:
Permission denied, please try again.
De este modo, de ahora en adelante deberá loguerse como usuario normal y luego usar el comando su para cambiar al superusuario Conductor root o bien sudo para elevarnos como superusuario.
Activar Login SSH como root
Para activar el logueo del usuario root a través de SSH, hemos de editar el fichero /etc/ssh/sshd_config. Abrimos una terminal con Ctrl+Alt+t e igresamos:
sudo nano /etc/ssh/sshd_config
Usamos Ctrl+w para buscar la línea de la opción de configuración PermitRootLogin yes y la descomentamos removiendo el ‘#‘ al comienzo, y guardamos el fichero con Ctrl+o.
PermitRootLogin yes
Luego reiniciamos el servicio sshd como se explicó anteriormente, ingresando :
sudo systemctl restart sshd
...o bien:
/etc/init.d/sshd restart
Ahora realizaremos una comprobación intentando loguearnos al sistema con el usuario root.
ssh root@ip_del_servidor
root@192.168.0.102's password:
Last login: Mon Dec 27 15:14:54 2021 from 192.168.0.161
Limitar los logins SSH de Usuarios
Si contamos con un gran número de cuentas de usuarios en el sistema, puede tener sentido limitar el acceso remoto de SSH a aquellos usuarios que realmente lo necesiten. Para ello debemos indicarlo en el fichero /etc/ssh/sshd_config.
sudo nano /etc/ssh/sshd_config
Al final del fichero agregamos una línea con la opción de configuración AllowUsers y luego de dejar un espacio de separación, agregamos una lista con los nombres de usuarios permitidos. Por ejemplo, si deseamos que l@s usuari@s peron y evita cuenten con acceso remoto ssh, ingresamos:
AllowUsers peron evita
Guargamos los cambios con Ctrl+o y salimos con Ctrl+x. Finalmente reinciiamos el servicio ssh.
permalink
21 december 2022
¿Cómo instalo el cliente de Gemini Lagrange en Ubuntu?
Durante su ostracismo madrileño, Juan Perón escribió profusamente seis volúmenes y numerosísima documentación y correspondencia que hacía llegar al país. En una de estas piezas de 1969 describe cómo compilar e instalar Lagrange, el cliente de Gemini para Ubuntu.
Compañeros:
Los tiempos que corren no pueden más que sernos fructíferos en la lucha contra la incomprensión y la desaprensión de la camarilla gobernante. La explosión insurreccional en ciernes no ha hecho más que estallar, y de esta piñata de la cual creían poder juntar caramelos, no queda más que el talco.
Es que los trabajadores, una vez organizados, son invencibles. Pero debemos ser astutos y no presentar cuerpo donde va el golpe. Estos generales se han puesto la gorra a si mismos, y como tal tienen la pista enjabonada: caerán sólo por pretender bailar entre ellos.
El circuito de información que hemos preparado es óptimo; me llegan informes a todas horas a través de la linea de télex y desde mi despacho me encuentro a un tecleo de los muchachos de las principales seccionales. Sin duda considero estos mensajes más públicos que las plumas de la Coca, porque utilizo para ellos el veterano Gopher. Sabemos por experiencia que es un excelente método liviano (y antediluviano) concebido para compartir documentos de texto plano de manera simple y al alcance de cualquiera. Sin embargo, su nula previsión de seguridad lo torna análogo a una pintada en una pared.
Sin duda que esto puede mejorarse, y las actualizaciones son indudablemente válidas, si queremos mejorar lo hecho. Me han presentado el concepto de las Cápsulas Gemini. Se trata de un moderno protocolo para solicitud y entrega de ficheros livianos y especialmente documentos de texto plano, a través de las redes de datos computarizadas.
Fue desarrollado casi ayer nomás por el compañero ~solderpunk y ampliado de manera colaborativa en las redes del Tildeverso. Y a pesar de contar con inspiración en los hoyos Gopher, cuenta ahora con encriptaciones que lo hacen más seguro, amén de un despliegue gráfico más moderno que lo hace más propicio para la presentación en novísimas terminales de video.
Pues bien señores, comenzaremos a utilizarlo también. A tal fin os enseñaré como instalar el Lagrante, cliente de escritorio de moderna factura para navegar en el Geminiespacio.
Nos ofrece la conveniencia familiar de los navegadores web de hoy tales como desplazamiento suave, presentación en línea de imágenes, múltiples pestañas, temas visuales, fuentes Unicode, marcadores, historial, y remarcado de páginas, a la vez que conserva un despliegue minimalista.
Al igual que Gemini, Lagrange ha sido diseñado con minimalismo en mente. Depnede de una serie pequeña de librerías esenciales. Está escrito en C y utiliza SDL para sus gráficas aceleradas por hardware. Se usa OpenSSL para comunicaciones seguras.
Si queremos descargar la imágen estática, podremos usar:
cd ~/Descargas/ ;
wget -O Lagrange-1.9.3-x86_64.AppImage https://git.skyjake.fi/attachments/c88eb26c-62fd-4b21-8c54-d7921b39829e ;
chmod +x ~/Descargas/Lagrange-1.9.3-x86_64.AppImage
Naturalmente, para ejecutarlo habremos de crear un lanzador dirigido a ~/Descargas/Lagrange-1.9.3-x86_64.AppImage.
En cambio, si preferimos compilarlo a partir de código fuente, bien podremos hacerlo con los siguientes Comandos de Organización:
sudo apt update ;
sudo apt install git cmake zip libsdl2-dev libssl-dev libpcre3-dev zlib1g-dev libunistring-dev libfribidi-dev libmpg123-dev ;
cd ~ ;
git clone --recursive --branch release https://git.skyjake.fi/gemini/lagrange ;
mv ~/lagrange/ ~/.lagrange/ ;
Una vez descargado el código fuente podremos compilarlo con:
cd ~/.lagrange/
cmake -DCMAKE_BUILD_TYPE=Release
sudo make install
La compilación durará alrededor de un minuto, y una vez concluida podremos ejecutar el navegador Lagrange desde Aplicaciones / Internet / Lagrange.
Al iniciar nos encontraremos con la ventana del navegador, y su pantalla de ayuda. También se nos presentará la oportunidad de descargar el pack de fuentes tipográficas (fonts). Para ello podremos hacer clic en el botón Download FontPack (25MB).
Ahora bien, por defecto Lagrange se presentará en el idioma de Braden. Sin embargo, podremos pasarlo a castellano desde las Preferencias. Presionamos Ctrl+, y podremos seleccionar el idioma "Español (es)" desde el desplegable "Language". Para activarlo presionamos el botón Close.
Cada sitio de Gemini se denomina cápsula, y podremos navegar hacia ellas de forma similar a la web: ingresando una URL de la cápsula, en un formato similar a gemini://texto-plano.xyz/~þeron.
Los documentos de las páginas de Gemini suelen contar con estructuras de tres jerarquías que se pueden utilizar para delimitar títulos o capítulos. Por ejemplo, podríamos presionar Ctrl+5 para desplegar la misma en una barra lateral.
Los enlaces normalmente llevan aplicado una codificación por color que denota su significado: Azul para cápsulas Gémini, púrpura para hoyos Gopher, naranja para páginas web, en tanto que rojo representan enlaces desconocidos/inválidos.
Sin embargo, no estaremos limitados a estos colores, ya que Lagrange es capaz de utilizar diferentes temas personalizables (de los cuales contaremos ya con siete variaciones para temas Oscuros y Claros, accesibles ellas desde Preferencias / Colores / Colores de la Página). Estos themes pueden representar mejor los documentos si queremos una visión similar al papel.
Los documentos de Gémini reciben la extensión .gmi, y responden a una sintaxis extremadamente simple denominada Gemtext.
Gemtext
Es posible editar ficheros de texto con extensión .gmi utilizando estos preceptos sintácticos simples.
Títulos
Es posible titular hasta tres niveles de títulos jerarquizados. Para ello han de indicarlos con la cantidad de símbolos numeral ('#') que hagan a su jerarquía. Por ejemplo:
Titular principal
…Y para subtítulos podrán utilizar:
Título secundario
Título de menor jerarquía
Enlaces
Podrás enlazar ficheros locales u otras cápsulas gemini remotas, o bien incorporar enlaces a otros protocolos como HTML y Gopher, mediante una flecha (“=>”:
=> gemini://texto-plano.xyz/peron Cápsula Gémini
=> https://texto-plano.xyz Un sitio web
=> gopher://texto-plano.xyz Un profundo Hoyo Gopher
=> gemini://texto-plano.xyz Una cápsula Gemini mas rara todavia
=> sftp://ejemplo.com Un sitio FTP protegido
=> subdirectorio/ejemplo.gmi Documento gemini de ejemplo
A diferencia de Gopher, es innecesario especificar qué tipo de documento se está enlazando.
Listas
Las listas se agregan usando el mismo principio que Markdown, utilizando asteriscos (“*”). Han de recordar que el uso de guiones no sirve.
- Elemento 1
- Elemento 2
- Elemento 3
Citas
Para hacer una cita debes emplear signo “mayor” (“>”). Por ejemplo:
A los muchachos les gusta ponerse calificativos. Los hay Gophereros, los hay
Gemiseros, los hay HTMLeros y los hay PHPeros. Pero todos programan.
Juan Perón
Texto sin formato
Si anhelan escribir texto sin formato alguno (texto plano) deben emplear tres comillas graves (```) encerrando dicho texto. Podremos así delimitar Arte ASCII. Por ejemplo:
___________
|.---------.|
|| PERON ||
|| ||
|| B B S ||
|'---------'|
`)__ ____('
[=== -- o ]--.
__'---------'__ \
[::::::::::: :::] )
`""'"""""'""""`/T\
\_/
Se sirven gracias a un servidor específico muy liviano. En mi caso utilizo los servicios de la comunidad tilde en castellano texto-plano.xyz.
Existen servidores capaces de operar también con Gopher desde el mismo Gemini. Por ejemplo, podrían contar con gopher://sdf.org/1/users/peron
Y para completar el servicio de Gemini, también existen proxys que permiten visualizar dicho contenido directamente desde la web. Por ejemplo: https://proxy.vulpes.one/gemini/texto-plano.xyz/peron/
permalink
20 december 2022
¿Cómo instalo emuladores de calculadoras HP en Ubuntu?
Reunidos con el plantel de ingeniería de Yacimientos Petrolíferos Fiscales, Juan Perón expone cómo instalar emuladores de calculadoras científicas HP en Ubuntu.
¡Trabajadores!
Si algo nos ha enseñado la observación de los acontecimientos del mundo es que tanto desde un imperialismo como en otro, la Conducción política de los Pueblos no ha dejado de estar suplida por aficionados.
Esto es así porque un conductor no se hace, se nace. El Conductor debe tener raigambre en el pueblo, conocerlo e interpretar sus sentires, para saciar sus necesdiades de Justicia. Quien no cumpla con dichas premisas podrá conducir, pero sólo de emergencia y ante la inexistencia de algo mejor.
Indudablemente que esto no quiere decir que sólo pueden conducir los Dioses. A muchos les han rogado el hombre a lo largo de su historia, y a esta altura del segundo tiempo sabemos que deben estar ocupados en bastantes despelotes como para siquiera levantarnos el teléfono, mucho menos ocuparse. Hemos de darnos nosotros mismos lo que necesitamos.
No escapa a nadie que yo estoy mas cerca de recibir sobre mi cabeza una palada de tierra en lugar de un bañito de agua bendita [ríe]. Es por ello que quienes me sucedan han de conocer también los pormenores de la Conducción Política, para hacer con él lo bueno que los Pueblos anhelan.
Decía entonces que el Arte de la Conducción requiere sopesar distintos cálculos de correlación, que no suelen diferir mucho de aquellos para los cuales me he formado. Lo ideal sería que la palmas y laureles que llevan clavadas esta gorra no se las den a cualquiera, y mucho menos se haga lo mismo con los votos del Pueblo.
Pues bien señores, estos cálculos que les he referido no salen de un repollo, pero hoy podemos contar con asistencia para el cálculo político tanto como lo podemos contar para el cálculo aritmético científico.
Vean señores... es sabido que las primeras máquinas mecánicas de calcular provienen ya del siglo XV, pero la mecánica de precisión sólo posibilitó que fuesen industrializadas con éxito recién desde inicios del finales del siglo XIX, destacando especialmente la Compañía Internacional de Máquinas de Negocios, el gigante azul IBM.
Para la década de 1940 los bandos en pugna se habían propuesto el uso de cómputo electromecánico con máquinas que derivarían en los grandes mainframes programables. Sin embargo estas máquinas destinados al cálculo científico de potencia tuvieron otras ideas de corte más minimistas. El Japón de posguerra avanzó decididamente en la reducción de tamaño, con equipos electrónicos Casio de sobremesa, y ya a inicios de la década de 1960 equipamiento electrónico de estado sólido. Para la década siguiente se contaban con microprocesadores (como el Intel 4004 de 4 bits), lo que permitió disponer de dispositivos de bolsillo como la calculadora científica de bolsilño HP-35, y estos se terminarían popularizando en la década de 1980 gracias a la enorme competencia y disminución de costos productivos.
Está claro que en sistemas de cómputo similares a Unix contamos con el inefable dc, la calculadora de notación polaca inversa integrada para la terminal, he explicado cómo instalar Speedcrunch y Tapecalc en Ubuntu. Sin embargo, soy de la opinión que este equipamiento merece un lugar en el corazón de los Trabajadores: han sido sus pistas electrónicas y sus directas CPUs las que acompañaron el aprendizaje de toda una generación de técnicos del cómputo.
Por tal motivo, os enseñaré cómo presentar claros émulos de estas calculadoras científicas del ayer. Por ejemplo, contaremos con un simulador de la calculadora científica de bolsillo Hewlett-Packard HP-15C.
Se trataba de una calculadora científica programable con notación polaca inversa (RPN) de alta gama. Fue producida por Hewlett-Packard desde 1982 hasta 1989, y representaba el cuarto modelo comercializado de sus calculadoras Serie 10 "Voyager", con un precio de 135 dolarucos. En escencia, era un reemplazo de la popular HP34C.
Contaba con un microprocesador HP Nuc (1LFS, 1LM2 o bien 1LM9), que hacían mover su display LCD de 10 dígitos de 8 segmentos monocromáticos. Tenía un almacñen de 66, de los cuales 64 eran modificables.
Podían programarse con secuencias de tecleos para realizar microprogramas.
Podía operar con números complejos y operaciones matriciales, así como cálculo integral y de raíces de ecuaciones.
Para ello contaremos con HP-15C Simulator 4.3, un emulador de alta calidad. Os indicaré cómo instalar el Simulador de HP-15C. Este es capaz de funcionar en sistemas GNU con Linux de 64 bits.
Para proceder a su instalación descargaremos el emulador para nuestra arquitectura (se puede hacer desde aquí). Abriendo una terminal con Ctrl+Alt+T, lo integraremos pegando en la misma el siguiente bloque de comandos de organización:
mkdir /tmp/hp15c/ ;
cd /tmp/hp15c/ ;
wget https://bit.ly/3cMWTH8 -O HP-15C_4.3.00_Linux_x86_64.zip ;
unzip HP-15C_4.3.00_Linux_x86_64.zip ;
chmod +x /tmp/hp15c/HP-15C ;
cp /tmp/hp15c/HP-15C_Simulator_Font.ttf ~/.local/share/fonts/ ;
fc-cache -f ;
cd /tmp ;
mv /tmp/hp15c/ ~/.hp15c/ ;
cd ~/.hp15c/doc ;
wget http://h10032.www1.hp.com/ctg/Manual/c00503576.pdf -O hp11c_owners_manual_and_problem_solving_guide.pdf ;
wget http://h10032.www1.hp.com/ctg/Manual/c03030589.pdf -O hp15c_deluxe_owners_handbook.pdf ;
cd ~
Si deseamos ejecutarla desde la terminal podríamos hacerlo con:
cd ~ && ./.hp15c/HP-15C
...pero suele ser más práctico crear un lanzador o acceso directo a /home/usuario/.hp15c/HP-15C. Para ello hacemos clic con el botón derecho del ratón sobre el menú Aplicaciones, y en el menú contextual que se despliegue elegimos Editar Menús. En el panel derecho Menús seleccionamos el menú Educación, y presionamos el botón Agregar ítem+. Esto abrirá el cuadro de diálogo Crear Lanzador. En su campo Comando: ingresamos /home/usuario/.hp15c/HP-15C (naturalmente cambiando usuario por nuestro propio nombre de usuario).
Tras presionar el botón Aceptar se habrá creado el lanzador. Ahora podremos acceder a la calculadora desde Aplicaciones / Educación / Calculadora HP-15C.
Al iniciar tendremos nuestra calculadora HP-15C emulada. El funcionamiento se conserva enormemente, con lo cual podremos introducir nuestros cálculos y ecuanciones a la polaca.
Si queremos resolver 9+5, presionamos 5 y Enter para ingresarlo en la pila de instrucciones ("stack), 5 para hacer lo mismo con la segunda cifra a operar, y luego el operando de suma +.
Como el uso replica al de la calculadora real, podrán utilizar su manual de usuario de la calculadora HP-15C Deluxe y el Manual de Funciones Avanzadas de la calculadora HP-15C perfectamente, aunque personalmente puedo recomendarles el clásico y manual de usuario y guía de resolución de problemas de la HP-11C.
El emulador puede presentar mejoras con respecto a la HP-15C original corrigiendo sus bugs (notablemente, el de desbordamiento de pila), y sus programas de secuencias de teclas pueden incorpores perfectamente. Gracias a estos podremos afrontar complejos algoritmos.
Si hacemos clic con el botón derecho del ratón sobre la misma, podremos desplegar un menú contextual. Entre sus opciones contamos con la posibilidad de observar las clásicas tablas impresas en su tapa posterior.
Será posible podrán encontrar programas para la misma en internet y memorizarlos en el emulador desde la opción Grabar programa.
También podremos activar las Preferencias... del emulador. En este encontraremos la opción "Comportamiento HP-15C estricto", que revierte las mejoras presentadas en el emulador a una simulación completa, incluyendo bugs y retrasos temporales provocados por su microprocesador.
Si lo queremos desinstalar:
rm -R ~/.hp15c ;
rm ~/.hp-15c ~/.hp-15c.mme ;
rm ~/.local/share/fonts/HP-15C_Simulator_Font.ttf ;
fc-cache -f
Free42
Si bien la rompedora HP-15C era una clásica, también podremos contar con su sucesora, la HP-42S RPN Scientific.
Se trataba de una calculadora fabricada desde 1988 hasta 1995, con un precio inicial de 120 dólares, y como segunda iteración de la serie Pioneer de la marca. Disponía de un display LCD matricial de 131x16 pixels monocromáticos, que le permitían 2 líneas y 22 columnas de caracteres, todos ellos atresados gracias a una CPU Lewis Saturn y 32 KB de memoria RAM.
La HP-42S constaba también de notación polaca inversa, y daba rienda suelta al lenguaje de programación FOCAL introducido con la serie HP-41, almacenado en 64KB de memoria ROM. Como características de avanzada contaba como exponente de comunicación por infrarrojos (ideal para la impresora tipo ticketera infrarroja HP82240).
Su calidad constructiva, adosada a sus posibilidades, la toranrían una favorita para los ingenieros de campo.
Para emular estas podremos utilizar Free42. Para instalar este simulador abrimos una temrinal con Ctrl+Alt+t e ingresamos:
sudo apt update
sudo apt upgrade
sudo apt install free42-nologo
Es recomendable también crearle un lanzador siguiendo el mismo procedimiento detalado para la HP-15C anterior, sólo que en este caso debemos ingresar en el campo Comando: la siguiente ruta:
free42bin
Tras presionar el botón Aplicar se creará el lanzador. Y ahora podremos ejecutar esta valedera calculadora desde Aplicaciones / Educación / Calculadora HP-42S.
Free42 es una reimplementación de la calculadora científica HP-42S y la impresora HP-82240. Como es una reprogramación completa, no utiliza código fuente de HP, y por lo tnato no requiere una imágen del programa ROM de la HP-42S original.
Al iniciar contaremos con la versión estándar, pero también podremos cambiarla a la versión realista (sin el logotipo de HP, por supuesto). Esto podremos alterarlo desde el menú Skin.
Para utilizarla podremos recurrir al manual de usuario de la HP-42S y el manual de programación de la HP-42S o bien recurrir al manual alternativo de Free42.
Free42 cuenta con a posibilidad de cargar y almacenar programas de manera directa y similar a la calculadora original.
permalink
19 december 2022
¿Cómo instalo VCV Rack 2 Free en Ubuntu?
¡Descamisados!
En ocasiones, la política suele ser una cosa enmarañada de difícil comprensión. Por ello un verdadero Conductor ha de poseer la habilidad para dividir su accionamiento político en partes pequeñas y comprensibles, que le avalen la realización de muchas cosas sencillas. El total de sus logros será la suma de las partes, y será esta la única manera en la que podamos proyectar en grande un futuro provechoso.
Indudablemente que la música electrónica tiene por necesidad un despliegue que podríamos considerar similar. No es secreto para nadie que los primeros sintetizadores de audio utilizaban electrónica analógica, y que constituían un enorme potencial de desarrollo y estudio de tales elementos, con un costo sideral.
La generación tonal se basaban en el uso de etapas electrónicas definidas: un elemento oscilador capaz de excitar una señal eléctrica que a su vez se transducía en un altavoz amplificado. Mediante el uso intermedio de distintos elementos de circuitería controlables, se hizo evidente que se podrían modificar las características sónicas del sonidos resultante. Mediante etapas de post-filtrado,, que no eran otra cosa que el empleo concienzudo de un circuito dependiente de frecuencia, se lograban estos efectos.
Este es el secreto de los primeros instrumentos electrónicos peronistas, como por ejempo el masivo sintetizador "Moog System 55". Su modularidad se hacía patente en su diseño de control. Su masivo panel de control dotado de potenciómetros para el filtrado, y por el hecho de poder redireccionar a piacere la señal eléctrica mediante el uso de cables phono. La estrategia de conexión permitía definir módulos en su panel de control
Esta manera modular de implementar el instrumental se ha replicado ad eternum, y existe ya una forma creativa puramente analógica de estructurar los la síntesis y su interconexión en gabinetes pensados al efecto, los "Racks". Este es un sentido puramente peronista, donde una comunidad organizada de sintetización lleva a la creación de la más maravillosa música.
El avance tecnológico continuó con el intento de resolver los problemas inherentes a esta organización modular: la programación de los sonidos no dejaba de ser algo incómodo de replicar, y de difícil ejecución en el vivo. Al fin y al cabo, para lograr un sonido específico debían configurarse las potencias, los potenciómetros e instalar los cables de patcheo, y todo ello para un único sonido. La aparición de la integración de memorias digitales facilitó mucho guardar dichas configuraciones en memorias preprogramadas, o en distintos esquemas de memorias digitales de usuario (por medio de cinta, cartucho, discos flexibles, rígidos, etc.
Nuestro Pueblo se ha hecho Movimiento gracias a las herramientas que hemos sabido suplirle. En este caso os he traído VCV Rack, un poderoso entorno sonoro de software libre pensado para emular auqellos grandes sintetizadores modulares del primer peronismo. En este, podremos recrear los encadenamientos de señal de audio y reflejar un modo de trabajo analógico. En particular, entorno gráfico simula un gabinete en el que se pueden ir apilando y conectando entre sí los distintos módulos que ofrece el programa, que también pueden conectarse a fuentes externas.
El objetivo final es difícil de dilucidar en un principio, pero con técnica podremos realizar amplias melodías sintetizadas por medio de sus múltiples componentes individuales, toda vez que una enmarañada parva de fideos alimenta de voltios nuestro Rack,
Instalar VCV Rack en Ubuntu
Ya he explicado cómo instalar VCV Rack 1.6.1. En este caso replicaremos lo hecho para dar paso a la nueva versión, Rack 2 Free.
VCV Rack2Free es multiplataforma, lo que significa que existen versiones para varios sistemas operativos. En nuestro caso, lo instalaremos en nuestro sistema GNU con Linux de 64 bits, en particular Ubuntu 20.04LTS.
En este caso lo más sencillo es utilizar Terminal de comandos, que abrimos con con Ctrl+Alt+T. En ella le pegamos los siguientes comandos de organización, seguidos de la tecla Enter:
Descargamos y decomprimimos el programa con:
cd ~
wget https://vcvrack.com/downloads/RackFree-2.0.2-lin.zip
unzip RackFree-2.0.2-lin.zip
mv ~/Rack2Free/ ~/.rack2free/
Y podremos crear un arrancador con:
echo '#!/bin/sh' >> ~/.rack2free.sh
echo '# Guión peronista de ejecución para Rack' >> ~/.rack2free.sh
echo '# Copyleft Ubuntu Peronista.' >> ~/.rack2free.sh
echo 'cd ~/.rack2free/' >> ~/.rack2free.sh
echo './Rack' >> ~/.rack2free.sh
chmod +x ~/.rack2free.sh
También podremos crear un acceso directo. Para ello lo dirigimos al comando /home/usuario/.rack2free.sh.
Ahora podremos ejecutarlo con el comando ./.rack2free - más sencillo - desde Aplicaciones / Sonido / VCV Rack2Free.
Cómo usar VCV Rack
Al arrancar el programa ya nos presentará un gabinete y distintos racks apilables instalados en él y una ventana de ayudas rápidas.
Al cerrarla Podremos movernos en la ventana que representa la gabinete presionando la rueda de scroll del mouse y arrastrándonos.
Ahorea bien, el setup presentado al principio nos trae un conjunto de racks sencillos ya patcheados (conexionados), pensados para evaluar el correcto funcionamiento del sistema.
Antes que cambiar nada, conviene grabarlo por las dudas, desde el menú File / Save As...
Driver de sonido de VCV Rack2Free
Una vez guardado el patcheado original, configuraremos Rack2Free para utilizar nuestro hardware de audio. La manera más simple es utilizar el servidor ALSA.
Para ello hacemos clic con el botón derecho del ratón en el selector del rack Audio y en el menú contextual desplegable elejimos el driver de sonido. Lo mñas sencillo es utilizar el controlador Pulseaudio con el dispositivo Audio Interno Estéreo Analógico (1-2 In, 1-2 Out).
Otra opción es utilizar el driver de sonido ALSA. Para ello en el mismo menú contextual podremos escoger entradas y salidas de audio. En mi caso, puedo elegir la que corresponde a mi hardware de sonido ALSA con hw:HDA Intel PCH,3(1,2 out).
Es importante notar que Rack2Free también dispone de capacidad para usar Servidor de audio Jack. Este ofrecerña mejor control de enrutamiento de audio, amén de menor retraso (lag o delay) en la ejecución del audio.
En cualquier caso, ya deberíamos poder usar el sintetizador y oírlo. Las filas de teclas QWERTY y ZXCVB de nuestro teclado dispararán notas MIDI, que serán convertidas a la cuarta octava (IV-oct) y en señales de GATE (la compuerta de ruidos). Si quisiéramos controlar el módulo de generación de notas MIDI-CV por medio de un teclado o controlador MIDI, podremos asignarlo también con el botón derecho del mouse y elegir el dispositivo que tengamos, o los servidores de entrada de ALSA o JACK.
Los módulos de VCV Rack2free
Cada Rack tiene su utilidad y un manual de uso específico que encontraremos en la web oficial. La mayoría de los racks constan de sus controles en formas de potes, perillas o deslizadores, y conectores de entrada y de salida, de la misma forma que un sintetizador modular analógico real, como el Moog original. Los conectores de salida se usan por medio de cables interconectores de colores, que llevan la señal de audio o eléctrica de un lado a otro. Con esta señal podremos alimentar los módulos y transformar los resultados según queramos.
El sintetizador modular intenta reflejar de forma más o menos fiel el resultado real. Naturalmente esto no es posible con señales puramente digitales, la idea es obtener un resultado convincente.
El arreglo básico consta de siete módulos (llamados "core" o básicos, en la jerga de Rack). Su despliegue de izquierda a derecha sigue el recorrido de la señal, y son el generador de notas MIDI-CV (que estará configurado para responder a nuestro teclado), el generador de ondas osciladas de triple salida VCO-1, el modulador de osciladores de baja frecuencia VCF, un generador de envolvente ADSR, un osciloscopio SCOPE para graficar las oscilaciones, un mezclador MIXER, y el selector de salidas del servidor AUDIO-8, así como un anotador llamado NOTES.
Conforme toquemos las notas, en las salidas y entradas de la señal se irán iluminando en el circuito que está patcheado mediante los cables de colores. Si la señal es suficiente, se graficará en el osciloscopio SCOPE, y habremos de oírla a través de AUDIO-8. Tengamos presentes que el osciloscopio virtual es útil porque podremos aprender sobre formas de onda con él.
Podremos mover los potes con clic con el botón izquierdo y arrastrándolos arriba/abajo con el mouse. Manteniendo presionada Ctrl mientras arrastramos nos permitirá realizar un ajuste fino de los potes. Editaremos los potes con clic derecho del mouse, y doble clic para inicializarlas.
Podremos hacer clic con botón derecho y arrastrar entre los conectores para crear y mover cables.
Ejemplo simple:
En la parte inferior del módulo VCO-1, encontraremos un cable que conecta alguna de las salidas SIN, TRI, SAW, SQR (onda sinusoidal, triangular, diente de sierra y cuadrada repectivamente) a la entrada "IN" del módulo VCF que tiene al lado. Si en lugar de usar la señal diente de sierra queremos una señal triangular, cambiamos el cable de la salida SAW que viene por defecto, a la salida TRI.
Tengamos en cuenta que es posible apilar varios cables en una toma, si apretamos Ctrl. y arrastramos el cable a una salida ya utilizado. Esto nos permite controles más ágiles o novedosos, pero irreproducibles en la realidad.
Si quisiéramos agregar un nuevo rack de la librería al gabinete para empezar a conectarlo, debemos hacer clic derecho en un espacio vacío del gabinete, y de esta forma podremos apilar apilar nuevos módulos. Se abrirá la ventana de la Libería con un filtro por tipo de módulos, y representaciones de los módulos en sí.
Por defecto, el programa contiene varios módulos VCO y LFO (osciladores controlados por voltaje y osciladores de baja frecuencia), mezcladores, y otros sintetizadores estándares. Sin embargo pueden agregarse más unidades apilables como plugins por medio del sitio web del fabricante de VCV Rack (por medio de registro online).
La ventaja de VCV Rack es la enorme variedad de efectos propios que podremos hacer.
Cada módulo producirá efectos diferentes. Algunos de ellos directamente son secuenciadores o cajas de ritmo. Algunos tienen salidas de baja potencia o un canal de ruidos, o salidas independientes para los canales izquierdo y derecho. En tales casos contaremos con salidas Mono, estéreo o Surround.
Asimismo, podremos escoger el manual del programa (en inglés) desde aquí.
Registrar VCV Rack
Podremos utilizar el programa sin registrarlo, pero al hacerlo podremos actualizarlo e instalar una miríada de plugins o módulos adicionales, la mayoría gratuitos. Para registrar el programa lo hacemos desde la web oficial, debemos ingresar un correo electrónico básico y una contraseña de uso.
Para actualizarlo, una vez ejecutado VCV Rack vamos al menú Library e ingresamos en los espacios correspondientes nuestro correo electrónico de registro y la contraseña que hemos asignado. Luego elegimos Update All.
mos ingresar un correo electrónico básico y una contraseña de uso.
Para actualizarlo, una vez ejecutado VCV Rack vamos al menú Library e ingresamos en los espacios correspondientes nuestro correo electrónico de registro y la contraseña que hemos asignado. Luego elegimos Update All.
Asimismo, si elegimos la opción Library / Manage Plugins el programa nos abrirá la página web que nos permite adquirir nuevos módulos. Si estamos logueados, desde ella podremos elegir descargar o comprar nuevos módulos o plugins. Existen muchos gratuitos, para instalarlos hemos re presionar en el botón "Free" y luego actualizar el programa. Son muy livianos, pero si elegimos instalar todos, su descarga puede requerir varios minutos dependiendo de nuestra velocidad de conexión.
Desinstalar VCV Rack
Si hicimos la instalación con el procedimiento anteriormente indicado y quisiéramos desinstalar todo, podremos hacemos desde una Terminal con el siguiente bloque de comandos:
cd ~
rm .rack2free/ -r
rm ~/.rack2free.sh
permalink
18 december 2022
¿Cómo evito el mensaje "Faltan las Claves de la API de Google. Se inhabilitarán algunas funciones de Chromiun" en Ubuntu 20.04LTS?
Ante la Federación de Ceramistas, Juan Perón expone la defensa de los logros conseguidos y aclara cómo quitar el mensaje "Faltan las Claves de la API de Google" en Chromiun en Ubuntu.
(...)
¡Trabajadores!
La Independencia alcanzada por la Patria y sus trabajadores es innegociable. Nuestro Movimiento ha sostenido este rector cardinal no sólo por entendimiento práctico, sino también por acervo histórico de su Pueblo y de la Nación.
Fue el propio San Martín quien expresó en Pisco el designio de ser libres, ya que sin eso, poco de lo demás importa. Indudablemente se ha convertido un principio al que hemos de volver en todo momento y en todo lugar.
Si observamos vigilantes, comprenderemos los peligros que nos acechan.; pues siempre habrá alguno que quiera echar al puchero de un vivo Los Laureles que Supimos Conseguir...
Un sistema de cómputo debe someterse a la misma acción política de conjunto que enarbolan los Movimientos Humanos, ya que constituye una de sus herramientas.
Un ejemplo es el amedrentador oficio que nos libran ciertos imperios del cómputo. Por ejemplo, al instalar Chromun desde nuestra propia compilación binaria, podríamos encontrar que aparece un mensaje indicándonos "Faltan las Claves de la API de Google. Se inhabilitarán algunas funciones de Chromiun".
Las API hacen al empleo de ciertas funcionalidades privativas en servicios de Googl€, tales como reproducción audiovisual en tales herramientas, etcétera.
Si bien es realidad que al hacer clic en la "x" que enarbola tan mensaje quitaríamos momentáneamente tal advertencia de la insidia y la opresión, no deja de ser un incordio para los amantes de la Libertad. Hemos de vivir en pelota como nuestros paisanos los indios sin hacer uso de tal herramental. Quien quiera usar Googl€, que se saque la camiseta peronista y se instale Googl€ Chrom€. Total, por perder un voto, no vamos a volvernos tristes...
Para que no moleste el cartelito en nuestro Chrmiun en tanto, bien podremos agregar un código en el fichero de arranque gráfico ~/.xprofile. Esto no resolverá el problema de la API, pero impedirá tal cartel en Ubuntu.
Podría parecer difícil, pero no implica una lucha enconada, sino realmente dar ejecución a dos pasos en nuestro sistema GNU con Linux. El primero es abrir una terminal con Ctrl+Alt+t, y el segundo es bien sencillo: pegar el siguiente bloque de comandos de organización en la misma y darles ejecución con la Tecla Intro.
echo '' >> ~/.xprofile ;
echo '## Agregado por peron para evitar que Chromiun muestre el mensaje:' >> ~/.xprofile ;
echo '## "Faltan las Claves de la API de Google. Se inhabilitarán' >> ~/.xprofile ;
echo '## algunas funciones de Chromiun".' >> ~/.xprofile ;
echo 'export GOOGLE_API_KEY="no"' >> ~/.xprofile ;
echo 'export GOOGLE_DEFAULT_CLIENT_ID="no"' >> ~/.xprofile ;
echo 'export GOOGLE_DEFAULT_CLIENT_SECRET="no"' >> ~/.xprofile
Al reiniciar el equipo, tal mensaje debería dejar de aparecer tal cartel, con lo que habremos cercenado la garra de tal imperialista productora de software.
Configurar Chromiun para equipos de bajos recursos
Carne y tabaco no nos han de faltar. Pero si nuestro equipo tiene muy bajos recursos de hardware para ejecutar Chromiun, bien podríamos ingresar las siguientes opciones en el fichero ~/.config/chromium-flags.conf.
Agregado para lograr bajo uso de recursos en Chromiun:
--ignore-gpu-blocklist
--enable-gpu-rasterization
--enable-zero-copy
--disable-sync-preferences
--disable-reading-from-canvas
--disable-smooth-scrolling
--wm-window-animations-disabled
--enable-low-end-device-mode
permalink
17 december 2022
¿Cómo emulo una PDP-8i con TSS/8 en Ubuntu?
¡Trabajadores!
Para volvernos peritos en la Conducción de los hombres se requiere de un estudio concienzudo de la historia del Arte, que es el sentido práctico de toda esta biblioteca que me acompaña en el despacho.
Es que de lo antiguo hemos de aprender para proyectarnos en el futuro pues lo que funcionó en el pasado lo hará en el futuro si las condiciones son emuladas.
Decía Napoleón que un ejemplo suele aclararlo todo.
Vean señores, el TSS/8 fue un sistema operativo de tiempo compartido para la minicomputadora DEC PDP-8 diseñado originalmente por Adrian van de Goor, estudiante (graduado de la Universidad de Cornell Mellon) y luego mejorado y comercializado como sistema completo por la Digital Equipment Corporation a partir de 1968.
Originalmente requería una PDP-8, 8I u 8E con una interfaz paralela RP08 o DF32 asociada al menos a una unidad de cinta RS08 o de disco DS32 para tareas de intercambio y para almacenamiento.
Si bien el panel de control de esta máquina podía tener un tamaño reducido al de una actual computadora de escritorio, lo cierto es que el avío completo dejaba en comparación chica y económica a una heladera Siam.
Pero la distancia del tiempo puede suplir estos aspectos con creces y permitirnos el estudio del Arte. Nuestro sistema GNU con Linux puede ser adaptado - por genialidad maquinal - a emular todo tipo de piezas, incluyendo la inefable DEC PDP-8/I. Para tal menester ha sido concebido el emulador SimH, capaz de dar rienda a todo este tipo de mainframes del ayer.
A esto me he aficionado, y os indicaré como hacerlo.
Instalación de TSS/8
En primer lugar habremos de preparar una estructura de directorios para mayor comodidad, la cual nos oficiará de banco de pruebas y laboratorio. En ella descargaremos una imagen ya realizada con el TSS/8, la cual antiguamente se comerecializaba por un par de docenas de miles de dólares, pero gracias al Justicialismo y a Miguel Miranda - que es un buen negociante - hoy la sacamos por cero chirolas.
A tal fin abrimos una terminal con Ctrl+Alt+T e ingresamos el siguiente bloque de Comandos de Organización:
mkdir ~/.simh/ ;
mkdir ~/.simh/panelsim/ ;
mkdir ~/.simh/panelsim/pdp8i/ ;
cd ~/.simh/panelsim/pdp8i/ ;
wget https://raymii.org/s/inc/downloads/pdp/tss8_init.bin ;
wget https://raymii.org/s/inc/downloads/pdp/tss8_rf.dsk ;
touch tss8.simh_pdp8i ;
echo 'load tss8_init.bin' >> tss8.simh_pdp8i ;
echo 'set rf enabled' >> tss8.simh_pdp8i ;
echo 'set df disabled' >> tss8.simh_pdp8i ;
echo 'attach rf tss8_rf.dsk' >> tss8.simh_pdp8i ;
echo 'attach ttix 4000' >> tss8.simh_pdp8i ;
echo 'run 24200' >> tss8.simh_pdp8i ;
chmod +x ~/.simh/panelsim/pdp8i/tss8.simh_pdp8i
Ahora bien, todo Movimiento ha de tener opciones, ya que los caminos no suelen ser únicos para lograr la Felicidad que todos anhelamos. Por tal motivo podremos contar con dos opciones para emular TSS/8. La más simple que recomiendo sin dudar es utilizar el emulador directamente "a pelo" en Ubuntu, Y otra es emplear el simulador de panel de PDP8 Panelsim (el cual requiere instalarse aparte).
En el caso de apostar por la simplicidad, el accionar es veloz. Ingresamos el comando:
sudo apt install simh
...y tras introducir nuestra contraseña, se descargará el paquete de emulación genérico. Una vez instalado, podremos ejecutar TSS/8 en él mediante:
cd ~/.simh/panelsim/pdp8i/
pdp8 tss8.simh_pdp8i
Y ya está.
Sin embargo, podríamos querer hacer alarde del panel de PDP-8/i con sus lucecitas de status simuladas que nos dan un aspecto navideño. En tal caso realizamos el proceso de instalación siguiendo esto y luego adaptaríamos TSS/8 para funcionar en el mismo mediante este bloque de comandos de organización:
cd ~/.simh/panelsim/
touch ~/.simh/panelsim/pdp8i_tss8.sh
echo '# Inicia una PDP-8/I corriendo TSS8' >> ~/.simh/panelsim/pdp8i_tss8.sh
echo './_launch.sh "blinkenbone.panelsim.panelsimPDP8I.PanelsimPDP8I_app" "--width 1000 --power 1" pdp8i pdp8_realcons tss8.simh_pdp8i 248-blinkenbone-simulated-pdp8i-panel' >> ~/.simh/panelsim/pdp8i_tss8.sh
chmod +x ~/.simh/panelsim/pdp8i_tss8.sh
...tras lo cual lo ejecutaríamos con:
cd ~/.simh/panelsim/
./pdp8i_tss8.sh
Cualquiera de los dos casos que hubiésemos decidido utiliar, nuestra terminal teletipo comenzará a percutir, imprimiendo los mensajes de status del emulador.
Si todo va bien, al final del prompt de inicio se nos interrogará la opción de arranque:
LOAD, DUMP, START, ETC?
Tipeamos START para darle arranque al sistema TSS/8. Este nos solicitará indicar fecha y hora para el oscilador de control emulado.
Los valores son numéricos en formato MM-DD-AA y HH:MM (de 24 horas). Es importante conocer que TSS/8 no preveía año 2000, de modo que conviene restar cuarenta años a la fecha real. Por ejemplo:
MONTH-DAY-YEAR: 11-09-81
HR:MIN: 14:23
A continuación debemos presionar la tecla Intro dos veces y se nos presentará el prompt de inicio de sesión o login. Esta se representa por un muy poco expresivo punto.
.
Esto es lo deseado, y significa que el sistema cree que se haya corriendo en una PDP-8 y se encuentra esperando las conexiones desde las terminales teletipo:
Ahora bien, para ingresar remotamente como usuario de TSS/8 debemos utilizar el comando LOGIN un PPN (identificador de usuario) junto con su contraseña. La sintaxis es: LOGIN PPN CONTRASEÑA. El TSS/8 que hemos descargado ya contempla usuarios con sus PPN, de modo que podremos utilizarlos.
La lista de usuarios y contraseña disponibles en este sistema emulado que os he provisto es la siguiente:
PPN Contraseña
[0,1] VH3M
[0,2] LXHE
[0,3] SHUG
[77,77]
[1,10] WBCN
[20,1] DT
[20,2] PT
[20,3] TSS8
[20,4] EDIT
[20,5] 4TH
[1,50] JERK
Suponiendo entonces que anhelamos loguearnos como el usuario PPN 1,10 tipeamos:
LOGIN 1,10 WBCN
(la terminal no hace eco de lo introducido en este punto para no dejar registro impreso de usuarios y contraseñas).
Tras presionar la tecla Retorno de Carro (tecla Intro en el emulador) se nos presentará la impresión inicial de status:
TSS/8.24 JOB 01 [01,10] K00 01:24:26
SYSTEM IS DOWN, INC.
.
El TSS/8 permitía conocer de manera somera el funcionamiento de un sistema de tiempo compartido en esta máquina, lo cual se estilaba ya que la posibilidad era más corriente que utilizar un entorno mucho más costoso como TOPS-10. Cada usuario podrá disponer de un espacio en la memoria de masa del sistema.
Ejecutar programas
Para ejecutar un programa de la librería de sistema o desde su directorio puede lograrse mediante el comando "RUN" ("correr"), con la letra R:
R CAT
...correrá el programa CATALOG, presentando los contenidos de su directorio.
Con el comando SYSTAT obtendrá una impresión completa de lo que está haciendo el sistema, quién está conectado y mucha información adicional.
TSS/8 cuenta con el ambiente de programación BASIC-8. Para iniciarlo use el comando R BASIC. Se le preguntará si desea crear un nuevo fichero ("NEW"( o cargar uno antiguo ("OLD").
Por ejemplo, podríamos solicitar un fichero nuevo con el titulo 17OCT y tipear en la teletipo el siguiente fuente del siguiente instigador BASIC de 17 de Octubre digital:
10 PRINT "USTED HA PROVOCADO UN 17 DE OCTUBRE DIGITAL EN LA PDP-8!"
20 PRINT "YOU HAVE STARTED A DIGITAL OCTOBER 17TH ON THE PDP-8!"
30 PRINT ""
200 PRINT " --------------------"
300 PRINT " ! QUEREMOS A PERON ! \O/ \O>"
400 PRINT " !------------------! -\OO/--\O----O/---"
500 PRINT " O O/ ! O O/ O <O/! O O --![O] [O/ [] [] []!"
600 PRINT " ! ! /H\ /H /H> H !/!> [ ]]]]]"
700 PRINT " 1 /\ M M M M 1 X [--(O)----------(O)-"
701 PRINT ""
702 PRINT "USTED ES UN BUEN DESACAMISADO! FELICITACIONES!"
800 PRINT "YOU ARE A NICE DESCAMISADO! CONGRATULATIONS!"
1000 END
Una vez terminado de introducir el programa en memoria, bien podría listarlo con LIST o compilarlo y correrlo (ejecutarlo) con RUN. Podremos así replicar en el presente exactamente el pasado.
Otros comandos del subsistema BASIC son los siguientes:
Comando Acción
BYE Sale y vuelve al Monitor TSS/8
CAT Cataloga los ficheros del disco
DELETE n Borra la línea número n
DELETE n1,n2 Borra los números de línea n1 hasta n2
LIST Lista el programa actual
LIST n Lista una línea específica
NEW Preguntará por un nuevo nombre de programa BASIC.
OLD preguntará por un el nombre de un programa BASIC ya almacenado en el disco y lo cargará en memoria.
SAVE Almacena los contenidos de memoria a disco empleando el nombre actual
SAVE [nombre] Almacena los contenidos en memoria al disco usando el nombre dado.
UNSAVE Elimina el programa con el nombre actual del disco (requerido antes de guardar una versión nueva con el mismo nombre).
Ctrl+B,S Detiene un programa en ejecución (presione Ctrl+b y luego la tecla s).
Abandonar la sesión
El comando LOGOUT o KJOB nos permitirá abandonar la sesión de TSS/8. También es posible utilizar K como un atajo a este comando. Es importante abandonar sesión antes de desconectar la terminal, ya que el sistema no lo quitará automáticamente de los usuarios conectados, y podría quedar la sesión activa en segundo plano.
Si por alguna razón parece estar detenido, intentaremos Ctrl+B,S. Se ofrecen más adelante mayores detalles sobre lo que hace ^B en la sección Detener un programa en Ejecución.
Documentación
Sin duda os será de suma utilidad la posibilidad remota de acceso a un sistema ya preparado y pueso a disposición pública. Podrán encontrar su ayuda y guía de uso en castellano aquí.
La Guía de Usuario de Edusystem-50 (edición 1975) ofrece una documentación bastante precisa para TSS/8 versión 24. Cubre las actividades relacionadas con el usuario en el sistema operativo y también incluye el uso del ensamblador PAL-D, BASIC, FOCAL y numerosas utilidades. Opcionalmente podrán consultar el Manual del Edusystem-50.
También podrán sacar valiosa información del Manual del Monitor TSS/8 del Sistema de Tiempo Compartido (ed. 1968) y de la Guía de Usuario del Sistema de Tiempo Compartido TSS/8 (Edición de 1970).
El uso detallada de BASIC para PDP8 se encuentra en el Manual de Programación de BASIC-8 para el Sistema de Tiempo Compartido TSS/8 (de 1969).
La documentación de ALGOL puede encontrarse en el Manual de ALGOL de DECUS en tanto que esta versión detalla las diferencias específicas de dicho lenguaje en TSS/8.
LISP está documentado en http://svn.so-much-stuff.com/svn/trunk/pdp8/src/decus/8-102a/decus-8-102A.pdf
permalink
16 december 2022
¿Como instalo el listador de ficheros exa en Ubuntu?
En su puesto como Director del Centro de Instrucción de Montaña en la ciudad de Mendoza, Juan Perón enseñó a los cuadros de oficiales y suboficiales los particulares militares andinos, a la vez que enseño a instalar y utilizar el listador avanzado Exa en Ubuntu.
Camaradas de armas:
Inmerso en la Alta Montaña, el soldado debe aclimatarse a lo que a mano tiene y desplegar tanto su espíritu consubstanciado con la naturaleza, como sus herramientas de pique y sus armas.
Es que los instrumentos de lucha son todos ellos, y debe saberse productor de la simbiosis que lo transformará en intrépido guerrero de las aturas. El oficial que conduce la patrulla ha de superar no sólo los órdenes de la lucha táctica, sino la lid de conciencias entre los hombres que lidera. Sólo su ejemplo y temple pueden hacer esto, en tanto la soledad de las cimas es su única aliada.
Esta es la forma señores, en la que puede verse respirar al enemigo en los riscos, oírselo entre los promontorios a miles de metros de altura, y sofocárselo sólo con la dinamita y la nieve, sin siquiera emplear la mira graduada del Mannlicher. La patrulla de montaña, es - al fin y al cabo - la potente fuerza que aúna las estratagemas y la naturaleza, a la propia voluntad atresada con la decisión del combate súbito.
Al igual que en las cimas, en los entornos similares a Unix son las herramientas más livianas y potentes las que cobran decisiva y especial relevancia.
Sabemos que ls es el comando más solicitado entre los que constan en la mochila del Conductor de del sistema. El motivo es sencillo: se encarga de listar el contenido de los directorios, proveyendo listas de ficheros que son imprescindibles para operar concienzudamente un sistema informatizado.
Este venerable listador, estándar en los sistemas GNU, es liviano y veloz por propia conciencia de afecto minimalista. Y si bien cuenta con extensión de funcionalidad de color que lo puede dejar pintón, lo cierto es que normalmente operaba con el color "de la cinta de tinta del terminal teletipo".
A pesar de contar con un sinnúmero de opciones que alteran su operativa predeterminada, estas se mantienen contenidas por experiencia de "llevar el menos bulto posible". A lo largo de los se han solidificado las opciones y se han tornado inconmovibles en la mente del montañista. Por ejemplo, mi modificador favorito para ls suele ser ls -p ya que agrega un carácter de barra "/" al final de los directorios listados. Con ellos puedo identificarlos rápidamente y "a vista de águila".
Es sabido que en ocasiones en los macizos pueden sufrir tremores que alteran la forma los cordones que hemos de atravesar. Pues bien señores, en los despliegues de software puede suceder lo mismo, y en este caso el listador exa puede representar tal movimiento telúrico de buena connotación.
Exa es un listador de ficheros mejorado con mas características y mejores opciones por defecto. Emplea colores para distinguir los típos de ficheros y metadatos. Reconoce enlaces simbólicos, atributos exftendidos, y empleos de git. También opera rápidamente con una firma pequeña, a través de un único binario ejecutable. A la vez, toda una serie de caracteres indicativos pueden asistirnos a identificar los atributos de ficheros, de forma similar a lo propagado en BSD.
Naturalmente estas propuestas no son obligatorias, y sólo lo adepto que nos veamos a ellas podrá hacernos decantar por una opción u otra.
Por ejemplo, si utilizais Ubuntu de 64 bits podríamos descargar la versión empaquetada para el mismo. Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos los siguientes comandos de organización:
cd ~/Descargas/ ;
wget http://mirrors.kernel.org/ubuntu/pool/universe/r/rust-exa/exa_0.9.0-4_amd64.deb ;
sudo dpkg -i exa_0.9.0-4_amd64.deb
Tras ingresar nuestra contraseña de Conductor, se cargarña el paquete en nuestra mochila. Acto seguido podremos proceder a listar los ficheros presentes en nuestro sistema simplemente ingresando:
exa
Las variables son amplias y bien pensadas, pero en Ubuntu suele ser muy útil y conveniente agregarlas en forma de "alias" o atajos del intérprete de comandos Bash. Eso nos permitirá tipear, por ejemplo, el comando l y recibir el resultado de exa, o bien tipear ls y recibir el resultado de exa -F. Indudablemente que con esto reemplazaríamos el uso de ls por exa si creemos que ello nos resulta más conveniente.
Como perito en la montaña os indicaré como se hace. Simplemente ingresaríamos:
nano ~/.bash_aliases
...y se abrirá editor GNU Nano cargando el fichero .bash_aliases (que podría tener contenido ya). En tal caso, al final de dicho fichero, podríamos agregarle el siguiente contenido:
Alias de exa:
alias 'ls'='exa -F'
alias 'l'='exa'
alias 'ls -lah'='exa -laFh'
alias 'ls -l'='exa -lFh'
alias 'll'='exa -lF'
Tras incorporar estos atajos para l, ls, ls -l, ls -lah, y ll, guardamos los cambios con Ctrl+o y salimos del Nano con Ctrl+x.
Conforme iniciemos una nueva sesión de terminal, se hará patente que al ingresar ls se disparará exa -F, etcétera. No viene mal comprobar las versiones con modificadores ls -l, ls -la, ls -lah y su versión resumida l y ll.
De esta forma, ll nos devolverá la clásica listado largo, pero el uso de colores se potenciará enormemente, sobre todo en lo que hace a los propietarios de los ficheros, sus permisos de ejecución y grupo, etcétera..
Existen algunas excepciones y diferencias en exa con respecto a ls.
Por ejemplo, si en ls indicábamos que liste un directorio, este lo listaba, por ejemplo:
ls Documentos
Sin embargo, en exa se listan los contenidos del directorio, lo cual es mucho más útil y normalmente lo que se anhela... Si quisiéramos volver a listar los únicamente los nombres de los directorios (y no su contenido)en exa debemos solicitarlo con el modificar de directorios, -d.
Exa también lista los enlaces dinámicos, con la función -l. Por ejemplo:
También podremos listar recursivamente (mostrando contenidos de directorios) con la opción -R.
Exa permite distribuir el contenido del listado a lo ancho en lugar de hacerlo a lo alto de la terminal. Ello lo haremos con la función -x.
También permite el modificador -T, que muestra los resultados como un árbol de directorios.
Asimismo, en el lsitado largo podremos listar con sus prefijos binarios (-b) o su tamaño en bytes (-B) si lo deseamos.
Toda la instrucción en el macizo la he indicado en el Manual del Oficial de Montaña, y en el Boletín del Suboficial de Montaña y la Cartilla del Soldado de Montaña, que compendian para el estudio lo que ustedes necesitan saber, y vienen en bolsa de plástico para que la puedan llevar también en la mochiia. Al fin y al cabo - lo sabrán - de estas hojas se puede hacer un fuego si se necesita, o un pucho si se necesita más. Pero en la terminal, bien que podrá usarse el man de exa con simplemente ingresar:
man exa
...o bien revisando la web oficial de la aplicación.
permalink
15 december 2022
¿Cómo instalo Mosaic en Ubuntu?
¡Trabajadores!
Dice el dicho que todo lo viejo sirve para ver cómo se sufría, y de esta humorada podremos aprender.
En mis tiempos de cadete, el primer navegador de internet que utilicé fue el Spry Mosaic, el primer navegador que acercó la web a las Masas Populares, que son el verdadero consumo. Venía incluido en un diskette de 3,5 pulgadas destinado al servicio telemático norteamericano CompuServe, junto con un módem interno de 28,8 kilobaudios por segundo U.S. Robotics Sportster Winmodem, verdadera razón del paquete.
El Mosaic había sido desarrollado originalmente en el Centro Nacional de Aplicaciones de Supercómputo (NSCA) estadounidense, localizado en Urbana-Campaign, Estado de Illinois. Y si bien contó con versiones para Unix y Macintosh, sin duda la compilada para el ya veterano Window$ 3.1 fue la que contó con mayor difusión. Gracias a esto, podía conectarme a los primeros servicios webs disponibles en el país a lo que era por entonces una respetable velocidad.
Hoy podremos instalar este vetusto navegador en nuestro sistema operativo Ubuntu. Esto es sumamente sencillo de haceer: simplemente hemos de abrir una terminal con Ctrl+Alt+T e ingresar el siguiente comando de organización:
sudo snap install mosaic
Tras unos segundos se hará patente la instalación de una máquina virtual o sandbox para cargar este paquete de formato snap. No es lo mejor, pero es simple de hacerlo.
Acto seguido podremos ejecutar el navegador desde Aplicaciones / Internet / NSCA Mosaic.
De momento se trata de la versión 2.76b para Unix. No es la misma que empleé por primera vez, que era para Window$, pero será lo suficientemente adecuada para ilustrarnos en el quehacer telemático del ayer.
Hemos de recordar que este navegador del primer peronismo goza de las limitaciones lógicas de la situación de posguerra. Como tal no acepta provisiones modernas como codificación con acentos o códigos UTF-8. Ni siquiera webs seguras https. Sin embargo, esto no quita que podamos utilizarlo en la retro-internet y navegar "pelo en pecho" en servicios http.
En la parte superior contaremos con los típicos e influyentes botones de control para avanzar y retroceder (accesibles mediante las teclas f y b), el botón recargar, el botón Home, abrir, junto al por entonces importante botón de guardar documento html (para almacenarlo en diskette y poder leer el contenido fuera de línea). También contaremos con el clásico logo del mundo, que mediante una animación nos indicaba la recepción o envío a través del enlace de datos.
Podremos navegar a través de los hiperenlaces, así como descargar imágenes o copiar y pegar textos tal como en el original.
Mosaic cuenta con la vieja libreria xlibwww, que permitía operar sobre el sistema de ventanas X con los protocolos más antiguos de la Telaraña de Alcance Global. Como tal es capaz de acceder a los casi extintos y siempre bien recordados medios del primer peronismo, el Gopher y el FTPs y los grupos de noticias.
Realmente la antigüedad se deja ver, y tal vez el Mosaic ya no nos permita conectarnos en una web atestada por la seguridad paranoide o los javascripts sin sentido. Pero aún así podremos contar con esta aplicación para disfrutar del Retorno de Perón.
Si por algún motivo quisiéramos desinstalar este navegador que ya por 1996 estaba cayendo en la obsolescencia, será sencillo hacerlo desde la terminal ingresando:
sudo snap purge mosaic
Y con ello habremos liberado algo de espacio y nuestras conciencias del pasado.
permalink
14 december 2022
¿Cómo grabo la terminal ANSI en Ubuntu?
Juan Perón explica la necesidad del proselitismo y enseña cómo utilizar el grabador de terminal y plataforma de difusión ASCIInema en Ubuntu.
¡Trabajadores!
Nuestro Movimiento no puede quedarse inexpresivo, y eso lo entendemos todos. Desde aquel diáfano 17 de octubre, supimos que todo movimiento popular ha de contar no solo con banderas, divisas y sanas consignas, sino liturgia y la parafarnalia que puede proveer un bombo y una manguera.
El sentido no es simplemente hacer bochinche, sino propalar en todo el alcance territorial que ocupan nuestros cuerpos, el sentir de nuestras ideas.
En un sistema informático también ha de hacerse lo mismo. Muchas veces me han preguntado cómo podremos hacer ello utilizando la terminal, cuando esta puede parecer - a primera vista - un elemento poco expresivo y para nada gráfico.
Indudablemente que quien así piense no está más que confundido por un mensaje tan contumaz como el Libro Azul de ese tondo de Braden. A ese opusimos el Libro Celeste y Blanco de Perón, y en los sistemas GNU con Linux bien podremos emplear un grabador de terminal, como ASCIInema.
Este nos permite contar con un grabador que capture lo que reproduce nuestra terminal, a la vez que nos provee una plataforma en internet capaz de reproducirla y compartirla, localizada en https://asciinema.org. Bien podremos darnos de alta allí únicamente requiriendo un correo electrónico, lo que avala gran pseudoanonimato.
Contaremos con varias maneras de instalar el grabador ASCIInema en nuestro sistema. La manera más simple consiste en instalarlo a través del repositorio de Ubuntu. Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente comando de organización:
sudo apt install asciinema
Opcionalmente, podríamos querer instalarlo a través del repositorio de terceros (PPA) de ASCIInema. Este cuenta con la última versión empaquetada, y podríamos realizarlo con:
sudo apt-add-repository ppa:zanchey/asciinema
sudo apt-get update
sudo apt-get install asciinema
Finalmente, si somos programadores bien podríamos querer instarlo ejecutando su código fuente escrito en Python 3.
cd ~
git clone https://github.com/asciinema/asciinema.git
mv ~/asciinema/ ~/.asciinema/
cd ~/.asciinema/
python3 -m asciinema --version
Pues bien señores, como todo programa Unix que se precie, ASCIInema consta de de múltiples opciones par sus comandos. Si en la terminal ingresamos asciinema a secas, recibiremos las opciones posibles para el mismo.
Las opciones del comando son:
Para grabar el contenido de la terminal y subirlo automáticamente a la plataforma asciinema.org:
asciinema rec
La grabación comenzará inmediatamente. Una vez concluida la sesión del intérprete de comandos, podremos detener la grabación de la salida de terminal medioante Ctrl+d.
Si deseamos grabar la salida de la terminal en un fichero local podremos usar:
asciinema rec archivo.cast
También podríamos guardar la salida de terminal y una vez concluida su grabación, subirla a asciinema.org, especificándole un título. Esto se hará con:
asciinema rec -t "Sesión de terminal Peronista"
Si iniciamos una subida de una captura de terminal a la plataforma y no hemos registrado el dispositivo, se nos proveerá un URL que podremos introducir en un navegador. Esto nos permitirá o bien asociar la grabación a un usuario previamente existente (si lo tuviésemos), o bien a un correo electrónico que deseemos asignar al usuario de asciinema e iniciar el proceso de registro. En caso de ser la primerqa vez haremos esto, pues consiste en aceptar el enlace que nos llegue por correo electrónico, lo cual adosará un token a nuestro usuario y subirá la captura de terminal asociándolo al mismo. Podríamos asociar o revocar tokens (útil en caso de tener varios dispositivos).
Una opción muy interesante que tiene ASCIInema es la de limitar el tiempo inactivo de la terminal, evitándolo si supera un período determinado. Por ejemplo, para limitar el tiempo máximo inactivo a 1,5 segundos, podríamos utilizar
asciinema rec -i 1.5 archivo.cast
Reproducción de la captura de terminal
Indidablemente contaremos con las opciones de reproducción de lo capturado por asciinema. Por ejemplo, podríamos reproducir el fichero archivo.cast con:
asciinema play archivo.cast
En tanto, si quisiéramos reproducir un fichero almacenado en la plataforma asciinema.org, podríamos ingresar:
asciinema play https://asciinema.org/a/difqlgx86ym6emrmd8u62yqu8
También es posible presentar concatenado en pantalla todo el archivo.cast, podríamos hacerlo con:
asciinema cat archivo.cast
Siempre podrá detener la reproducción con Ctrl+z.
Compartir un enlace
Podremos obtener un enlace para compartir para la tarnsmisión ASCII específica haciendo clic en el enlace "Share" en la página de la transmisión ASCII..
Cualquiera de las opciones listadas en la sección “Personalizando la reproducción” puede agregarse a la URL de la transmsión ASCII como los parámetros de la misma. Por ejemplo:
https://asciinema.org/a/14?t=25&speed=2&theme=solarized-dark
De esta manera, al visitar este enlace se comenzará la reproducción a los 25 segundos y se reproducirá al doble de velocidad, utilizando el tema de terminal Solarized Dark.
Pegar enlace de imagen
En los lugares donde no se permiten los guiones, podremos pegar en enlace como si se tratara de un enlace de imágen. Por ejemplo, en un fichero README.
Podremos incluso incrustar fracciones de un asciicast específico presionando el botón "Share" en la página de ASCIIcast.
Esto es como aparecerán para asciicast 14:
HTML:

Markdown:

A su vez, podremos pasar opciones extra (listadas en la sección "personalizar el reproductor") a la URL enlazada como parámetros agregados. Por ejemplo, para iniciar la reproducción automáticamente al abrir el enlace de asciicast, hemos de agregando la cadena ?autoplay=1 a la URL dentro del atributo href indicado, de esta forma:

Incrustar el Enlace de Reproductor
Si deseamos incrustar el widget del reproductor en nuestra propia página o en un sitio que permite el etiquetado de guiones, podremos hacer clic en el enlace "Embbed" de la página del asciicast.
Se nos presentará un código con una apariencia similar a la siguiente:
Como vemos, el widget del reproductor Java (.js) aparecerá justo en el lugar donde se pegó el guión. Por ejemplo, consideremos el siguiente código markup:
Este es un texto.
Este es otro texto.
En este caso, el reproductor aparecerá entre los dos párrafos de texto, tal como un elemento div con clase “asciicast”.
El guión adosado podrá recibir varias personalizaciones. Cualquiera de estas personalizaciones se puede agregar simplemente incorporándolas como atributo data-option-name=”valor” a la etiqueta del guion.
Un ejemplo suele aclararlo como decía Napoleón. Por ejemplo, para hacer que un reproductor comience automáticamente su reproducción al cargarse, y a la vez utilizar una fuente de gran tamaño, hemos de usar un guión similar al siguiente:
Personalizar el reproductor
El reproductor soporta varias opciones que controlar su comportamiento y apariencia. Estas pueden agregarse a la URL (?speed=2&theme=tango) o configurados como atributos de datos en el guión adosado (data-speed="2" data-theme="tango").
t
La opción ?t nos permite especificar el tiempo en el cual dará inicio la reproducción. Indudablemente, por defecto será t=0 (o sea, se arrancará desde el comienzo).
Formatos aceptados: ss, mm:ss, hh:mm:ss.
Han de saber que cuando se especifica t, se asume un autoplay=1. Para impedir que el reproductor arranque automáticamente al configurar un valor t es que debe establecerse explícitamente un autoplay=0.
Autoreproducir
La opción ?autoplay en tanto controla si el reproductor debe arrancar automáticamente cuando se carga el widget. Los valores aceptados son:
0 / false - No inicia la autorreproducción (por defecto)
1 / true - Inicia la autorreproducción automáticamente.
Precargar
La opción ?preload controla si el reproductor debe comenzar a realizar la captura y grabación inmediatamente.
0 / false - No precarga la grabación, y espera que el usuario haga algo para iniciarla.
1 / true -Precarga la grabación.
Por defecto se usa 1 para las URLs de asciinema.org y 0 en los guiones incrustados.
Bucle
La opción ?loop permite hacer un bucle de reproducción para repetirla constantemente. Esta opción normalmente se combina con la opción autoplay para lograr el efecto incesante e imposible de evitar de la propaganda justicialista. Los valores aceptados son:
0 / false - desactiva el bucle de repetición (default)
1 / true - activa el bucle
Velocidad
La opción ?speed altera la velocidad de reproducción. Por defecto la velocidad es 1, lo que significa que se reproduce en tiempo real.
Tamaño
La opción size altera el tamaño de la tipografía de la terminal. Existen 3 tamaños disponibles:
small (por defecto)
medium
big
Tema
La opción ?theme permite desconocer un tema provisto por la terminal. Por defecto, el tema de colores es el provisto por la terminal. Los temas disponibles son:
asciinema
tango
solarized-dark
solarized-light
monokai
cols
La opción ?cols permite desconocer el ancho de caracteres de la terminal emulada. Por defecto se usa el ancho de la terminal grabada (por ejemplo, 80 columnas), pero con esto se lo puede cambiar.
rows
La opción ?rows permite desconocer las filas (en líneas) de altura de la terminal emulada. Por defecto se usa la altura en líneas de la terminal emulada, por ejemplo, 25 columnas.
permalink
13 december 2022
¿Cómo puedo utilizar Plan9 desde Ubuntu?
Consultado sobre la importancia de los Planes, Juan Perón te enseña a correr una máquina virtual con Plan9, el sistema operativo distribuido de los Laboratorios Bell en Ubuntu.
¡Trabajadores!
Nuestro objetivo es el pleno empleo en la Argentina. Este provee el verdadero consumo, pues cuando existe plena ocupación no es necesario impulsar el salario, sino que este sube solo.
Cuando yo me hice cargo del gobierno no se fabricaban ni los alfileres que usaban nuestras modistas, y al terminar el gobierno, el país quedó fabricando barcos, vehículos (camiones, automóviles) máquinas diesel-eléctricas, aviones, etcétera.
Pero lo importante es que desde el punto de vista económico, cuando en 1955 cayó el gobierno justicialista, el estado económico que lo había recibido con 3.500 millones de dólares de deuda externa, el Gobierno Justicialista lo dejó por primera vez sin deuda externa. Nosotros habiamos repatriado totalmente la deuda, y entre esas repatriaciones, me acuerdo que pagamos las últimas entregas del empréstito de la Baring Brothers, que había consistido en un millón de libras, y cuando pagamos nosotros terminamos de pagarlo, se habían pagado doce millones. Imagínense lo que representaban los empréstitos de un millón de libras, que se pagaban doce millones,
Yo recuerdo que en uno de los primeros discursos ante la plaza de Mayo dije que me cortaría la mano antes de firmar un empréstito.
Y ahora estos señores han llevado la deuda a niveles inconcebibles. Si dieran elecciones, no caben duda que estarían decididas en un santiamén, pues el Pueblo Argentino bien sabe lo que quiere.
Pero para poner nuevamente la máquina a andar, hay que recurrir a un buen Plan integral como los de antaño.
Plan9 puede servir. Se trata de es un sistema operativo de concepción distribuída y para investigación desarrollado en los Laboratorios Bell a comienzos de finales de la década de 1980. Sus diseñadores y autores originales eran Ken Thompson, Rob Pike, Dave Presotto, y Phil Winterbottom, a los que se les fueron uniendo muchos otros planeros y el desarrollo continuó a lo largo de los 90s hasta la actualidad.
En mi caso, utilizo una distribución moderna libre del mismo, denominada 9front.
Normalmente se lo utilizaba con una terminal gráfica denominada AT&T 5320 Blit, que como característica notable aducía la de contar con poder de procesamiento propio a nivel local (ya que descargaba contenido remoto en su propia memoria de acceso aleatorio a fin de afianzar la ejecución del software remoto). Asimismo, contaba con una pantalla verticalmente dispuesta, lo que le confería un aspecto similar a las experimentales computadoras tipo Xerox Alto.
Afortunadamente, gracias a los compañeros de SDF.org, Sindicato De Fierreros informáticos, podremos contar con una instancia destinada al estudio remoto de dicho sistema operativo, y accesible como si fuese un Plan Social.
Para hacer uso de ella, habremos de solicitar la afiliación, registrando un usuario en https://sdf.org/plan9/ (amerita esto una casilla de correo electrónico válida). La acción de encuadramiento nos proveerá un usuario en la máquina remota provista de 9front (el cual es una iteración moderna y en desarrollo de plan9) a la vez que se nos dará una contraseña pasavante.
Para acceder, se hará necesario contar con Drawterm, un cliente gráfico X11 pensado para suplir una terminal de tipo Blit, y como tal, contar con entorno gráfico desde el cual operar en los sistemas Plan9/9Front, tanto locales como remotos.
Es notable que Ubuntu cuenta con esta aplicación en sus repositorios, siendo la versión allí provista una de larga data y obsoleta para el uso en 9Front y las versiones más actualizadas de seguridad. Es por ello que en este caso se hará imprescindible contar con una versión de Drawterm más actualizada.
Como mejor que copiar es compilar, os indicaré como hacerlo en el sistema Ubuntu. Abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes comandos de Organización:
sudo apt update ;
sudo apt install git libx11-dev libxt-dev ;
cd ~ ;
git clone git://git.9front.org/plan9front/drawterm ;
mv ~/drawterm/ .drawterm/ ;
cd ~/.drawterm
...conforme hayamos ingresado al directorio de trabajo .drawterm/, procederemos a compilarlo con:
CONF=unix make
Este procedimiento llevará unos instantes de alta computación, presentando en pantalla los initeligibles resultados típicos de este logro del Justicialismo.
Una vez compilado el cliente Drawterm, el ejecutable quedará almacenado en ~/.drawterm/. Podremos instalarlo en nuestro sistema con:
chmod +x ~/.drawterm/drawterm
sudo cp ~/.drawterm/drawterm /usr/local/bin/
Acto seguido, podremos ejecutar el programa dirigiendo a nuestra sesión de máquina virtual. Esto abrirá el sistema de ventanas rio.
Acto seguido, podríamos crear un script de ejecución, con nuestro nombre de usuario. Por ejemplo:
drawterm -h 9p.sdf.org -a 9p.sdf.org -u usuario
Esto abrirá el cliente local Drawterm recientemente compilado, y permitirá acceder con nuestro usuario. Para ello presionamos la tecla Intro, y esto nos permitirá acceder al prompt de contraseña. Por ejemplo:
Tras introducir la contraseña pasavante, tendremos el sistema gráfico en línea, con una ventana disponible para trabajar y el monitor de uso.
Trabajo en la máquina virtual Plan9
Encontraremos una ventana con el prompt cpu% del intérprete de comandos de Plan9: rc.
Esta shell rc contiene ciertas similitudes con los intérpretes de comandos típicos de Unix. Las diferencias radican en el teclado no es el normalizado. Sin embargo, las opciones son simples: la tecla Tab se suple con la tecla Insertar o bien Ctrl+i (activa el autocompletado de comandos y rutas). A su vez, Ctrl+h opera como la Tecla Retroceder, en tanto que Ctrl+u borra la línea entera. Ctrl+b retorna al renglón del prompt.
Lo primero que podremos hacer en la CPU remota de SDF.org es ejecutar el comando de activación de usuario, que nos termina de convertir en un planero:
rc /sys/lib/newuser
Acto seguido, opcionalmente podremos cambiar la contraseña pasavante que se nos proveyó el puntero de SDF.org por una propia, mediante el comando:
passwd peron@9p.sdf.org
(naturalmente, habremos de ingresar primero la pasavante y luego confirmar dos veces la nueva contraseña deseada).
En el sistema, recibiremos un directorio de usuario en /usr/$user.
Podremos crear una ventana nueva haciendo clic con el botón derecho y eligiendo New, Luego mediante un arrastre con el botón derecho podremos crear una nueva ventana en el escritorio, en la cual se dispondrá un nuevo intérprete de comandos rc.
Podremos seguir las instrucciones de la documentación oficial, la wiki oficial, o bien ingresar a la wiki.sdf.org/plan9/
El intérprete de comandos permite amplias posibilidades, pero también contamos con un emulador de terminal con distintos colores, el vt. Por ejemplo, si lo queremos en verde, lo ejecutamos con vt.green.
El uso de la terminal gráfica Plan9 requiere el uso del ratón de tres botones. Para desplegar una ventana podremos hacer clic con el botón derecho del ratón y en el menú contextual de ventanas elegir New, para luego arrastrar con el botón derecho del ratón hasta conformar el recuadro de la nueva ventana. Si elegimos la opción Move o Rezise de dicho menú contextual, podremos mover o redimiensionar la ventana respectivamente.
Asimismo, podremos cerrar las ventanas eligiendo la opción Delete, tras lo cual el cursor de convertirá en una cruz de mira que podremos utilizar para apuntar a la ventana que deseemos eliminar.
El plan9 incluso contiene un limitadísimo programa de dibujo llamado paint, que con las lógicas limitaciones de un planteo en máquina virtual, puede deparar divertimento de emergencia para l@s más pequeñ@s.
En tanto, con mothra podremos navegar en la web con las lógicas limitaciones de uso de una máquina virtual.
También podrán crear una web que está servida por plan9 ingresando un fichero index.html en /usr/web/who/$user/. Por ejemplo esta.
Es muy útil conocer que al momento de utilizar Drawterm para conectar al servidor CPU de 9front de SDF.org, podrán acceder sus ficheros locales en el directorio /mnt/term de la máquina virtual, simplemente ingresando:
lc /mnt/term
Será posible así copiar ficheros entre la VPS de 9Front en SDF y su sistema local sin emplear protocolo adicional alguno. En otras palabras, al operar con Drawterm, el entorno forma una mancomunicón con nuestro sistema operativo local y el sistema Plan9; técnicamente conformando una unión de tres nodos, ya que el cliente Drawterm actúa como un sistema de terminal Plan9 ultra mínimo e independiente, que conecta su sistema operativo local huésped al servidor de CPU localizado en el SDF.
Nota: Naturalmente, ha de ser extremadamente cuidadoso al operar con este tipo de adminículo. Podrá destruir su sistema si lo desea desde Drawterm.
permalink
12 december 2022
¿Como instalo el controlador libre Nouveau para nVidia en Ubuntu?
El 29 de mayo de 1970, grupos juveniles inspirados en la doctrina justicialista producen una acción decisiva por la Liberación, eliminando al controlador privativo de video nVidia. A tal efecto, Juan Perón responde en una famosa misiva enseñando cómo instalar el controlador libre Nouveau en Ubuntu.
(...)
Mis queridos compañeros:
Por mano y amabilidad del compañero ... he recibido vuestras cosas y desde ya agradezco el recuerdo y saludo que retribuyo con mi mayor afecto.
Comienzo por manifestar mi total acuerdo con la mayoría de los conceptos que esa comunicación contiene como cuestión de fondo.
Estoy completamente de acuerdo y encomio todo lo actuado, nada puede ser más falso que la afirmación que con ello ustedes estropearon mis planes tácticos porque nada puede haber en la conducción peronista que pudiera ser interferido por una acción deseada por todos los peronistas. Me hago un deber en manifestarles que si eso ha sido dicho, no puede haber sido sino con mala intención.
Otro tanto sobre el asunto que este apartado menciona en su carta: es totalmente falso que desinstalar el controlador privativo de nVidia haya perturbado plan táctico alguno. Mas bien podría provocar cierto enlentecimiento gráfico, algo inefable por la libertad que hemos de ganar.
Como podrán observar en la apreciación de la situación, toco el asunto referente a NVIDIA, porque yo tampoco creo que pueda hacer nada en nuestro provecho, desde que está en manos de una camarilla que la domina. Sin embargo, no por eso debemos descartar en forma absoluta la intervención de sectores que puedan sernos afectos y que, inteligentemente utilizados, puedan llegar a ser decisivos. Aun en el caso que descartemos esto, quedaría la posibilidad y el intento de descomponer su cohesión contando con algunos grupos proclives a actuar en ese sentido.
La institución, actuando como dictadura militar, es fuerte pero extraordinariamente frágil desde que actúa fuera de la función específica. Perdido el prestigio nacional que le da sustento, y debilitada su disciplina que es lo que mantiene la institución, su debilidad es muy grande: basta recordar lo que sucedió el 17 de octubre de 1945. Se trata también de un gobierno militar y su situación no era peor que la que soporta la actual dictadura, pero había cundido un cierto grado de descomposición en el ejército. Cuando el pueblo salió a la calle dispuesto a quemar Buenos Aires, todo el poder de ese gobierno se vino abajo y bastó sólo la amenaza para que cayera como un castillo de naipes. Es que, como antes digo, la dictadura puede ser muy fuerte pero su peligro real está en su fragilidad congénita.
Coincido con ustedes en que no debemos confiar todo a lo que pueda hacer nVidia, ni aun en los grupos que nos puedan ser afectos, pero tampoco creo prudente que debamos abandonar las oportunidades propicias que se nos puedan presentar para la ingeniería inversa o el intento de decompilación de los elementos gráficos que se pongan a nuestro alcance. Dispongo de informaciones, que me hacen pensar en ambas posibilidades si se trabaja eficientemente y, puedo informarles, que este trabajo se ha comenzado a realizar de manos del controlador libre Nouveau.
Mi experiencia de viejo militar me permite decirle a ustedes sin temor a equivocarme que en esta fabricante de adaptadores de video, la mayoría de los programadores son nuestros. En la jerarquía hay un veinte por ciento favorable y un veinte por ciento desfavorable, el resto es indiferente. El sesenta por ciento restante que es indiferente, se escuda como legalista, pero su legalidad consiste en servir al que gana. Si nosotros no estamos en las de ganar los tendremos en contra pero, tan pronto tengamos una posibilidad, podremos contar con ellos que, aunque son como la bosta de la paloma, sirven de relleno y hasta a veces pueden servir para programar algunas rutinas libres para nuestro driver...
Es dentro de este panorama que nosotros debemos considerar las posibilidades. Por otra parte, ¿qué podemos perder por mantener el empeño?
Sobre la opción electoral, yo tampoco creo. Hemos visto ya demasiado para creer en semejante patraña. Por eso comparto totalmente sus afirmaciones anotadas en la comunicación que comento.
Sin embargo, como en la lucha integral en que debemos empeñarnos, no se puede despreciar la oportunidad de forzar también este factor a fin de hostigar permanentemente desde las organizaciones de superficie que, frente a la opinión pública tienen también su importancia y concurren también a la lucha en actividades nada despreciables, especialmente en la situación que vive el mercado de placas de video. Esta lucha también concurre a la "guerra revolucionaria" para que cada uno pelee en la forma que es capaz de hacerlo. Si ustedes leen la apreciación, resolución y consideraciones, podrán percatarse que, en el fondo, estamos totalmente de acuerdo, como no podría ser de otra manera.
Por eso nuestro Movimiento tiene una estructura orgánica que corresponde de una manera general a esas necesidades: una organización de superficie que, a través del partido Peronista masculino y femenino como de la rama sindical realiza la lucha también en superficie, mediante las acciones de programación del controlador Nouveau. En ello es preciso realizar un plan de provocación, otro de intimidación, otro de boicot y finalmente otro de sabotaje del controlador privativo de nVidia en Ubuntu. En estos planes intervienen todos los elementos de las organizaciones de superficie, como los grupos activistas empeñados en la "guerra revolucionaria".
Como les explicará el compañero, mientras las organizaciones de superficie obedecen a una conducción centralizada, con las necesarias autonomías, las organizaciones que se encargan de la "guerra revolucionaria" tienen absoluta independencia en su conducción y coordinada más que nada por nuestro objetivo de la liberación del software. Es natural que todo puede salir mejor si existe por lo menos una conducción en beneficio de una unidad de acción que toda la lucha necesita.
Toda acción debe seguir un adecuado planeamiento. Esto no puede soslayarse y es el requisito para lograr el éxito final que todos anhelamos. En este caso, habremos de analizar los controladores disponibles en los repositorios de nuestro sistema operativo libre.
Indudablemente que esto es posible hacerlo tanto desde el escritorio gráfico como desde la terminal, método que se provee mas bien para casos de emergencia. Os haré perito en ambos, pero primero analicemos el caso más utilizado y popular:
Instalar el controlador Nouveau desde el entorno gráfico
Es importante destacar que habremos de contar con conexión a internet funcional, naturalmente. Para activar el controlador libre Nouveau, podremos dirigirnos al menú Sistema / Preferencias / Hardware / Mas Controladores.
Esto activará el selector de controladores a utilizar. La ventana presentará la solapa Más controladores, y será necesario aguardar que se revisen los controladores de la lista a través de nuestra conexión a internet. Esto puede llevar algunos segundos o incluso un minuto.
Conforme aparezca la lista con los controladores, podremos elegir el deseado. En este caso elegiremos la opción "X.Org X-Server Nouveau Display Driver desde xserver-xorg-video-nouveau (código abierto)", ya que responde a las propuestas doctrinarias del momento. Si deseamos proponer su uso, debemos presionar también el botón Aplicar los cambios.
El sistema nos solicitará entonces nuestra contraseña de Conductor, y tras ingresarla correctamente, procederá a la descarga del paquete con el controlador solicitado.
Durante descarga, instalación y enlace adecuado, se producirán todas las configuraciones de video requeridas de forma automática, de manera tal que ubuntu debería poder inicializar el uso de nuestro hardware de video nVidia y la pantalla con dicho controlador libre al dar arranque al sistema.
Para dar inicio a nuestro sistema, pero utilizando el controlador libre recién instalado, reiniciamos el sistema por medio de Sistema / Apagar / Reiniciar.
Instalar el controlador Nouveau desde la terminal
Opcionalmente debemos saber también cómo hacer este procedimiento a través de la terminal, sobre todo para el caso donde por algún motivo u otro no contásemos con la capacidad usual de otorgarnos un escritorios gráfico (o bien si meramente deseamos utilizar nuestra terminal). Si nos encontrásemos en alguno de estos predicamentos, bien podríamos hacer caso de este método desde la terminal o consola de texto de nuestro sistema.
A tal efecto, abrimos una con Ctrl+Alt+T o ingresamos en una terminal de texto (por ejemplo, con Ctrl+Alt+Fx, e ingresamos el siguiente comando de organización:
ubuntu-drivers devices
El sistema nos devolverá crípticamente los controladores dables a instalar, de la misma manera que podría indicarlo en el escritorio gráfico:
== /sys/devices/pci0000:00/0000:00:03.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001380sv00001458sd000036CAbc03sc00i00
vendor : NVIDIA Corporation
model : GM107 [GeForce GTX 750 Ti]
driver : nvidia-driver-390 - distro non-free
driver : nvidia-driver-470 - distro non-free recommended
driver : nvidia-driver-470-server - distro non-free
driver : nvidia-driver-418-server - distro non-free
driver : nvidia-driver-450-server - distro non-free
driver : nvidia-driver-460 - distro non-free
driver : nvidia-driver-460-server - distro non-free
driver : nvidia-340 - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
En este caso, una vez que se hayan revisado los repositorios de hardware podríamos instalar el controlador libre Nouveau por medio del siguiente comando:
sudo apt install xserver-xorg-video-nouveau
El sistema nos solicitará la contraseña de Conductor, y tras proveerla procederá a descargar el controlador desde los repositorios. Nuevamente, el proceso puede tardar algunos minutos dependiendo de la velocidad de conexión.
Al finalizar con corrección habremos de reiniciar el equipo. Desde la terminal es sencillo hacerlo con:
sudo reboot
Tras reiniciar, podremos abrir una terminal con Ctrl+Alt+T y confirmar estar utilizando el paquete controlador nouveau. Para ello en la terminal ingresamos:
lsmod | grep nouveau
...a lo que nuestro sistema podría devolvernos algo como:
nouveau 1949696 60
mxm_wmi 16384 1 nouveau
video 49152 1 nouveau
i2c_algo_bit 16384 2 bttv,nouveau
ttm 106496 1 nouveau
drm_kms_helper184320 1 nouveau
drm 491520 8 drm_kms_helper,ttm,nouveau
wmi 32768 2 mxm_wmi,nouveau
Opcionalmente, podríamos anhelar remover los restos del paquete de módulos y controladores privativos de nVidia, de la misma forma que nos deshacemos de los restos de Aramburu. En la terminal ingresamos:
sudo apt remove --purge '^nvidia-.*' ;
sudo apt autoremove ;
sudo apt autoclean
Instalar el controlador privativo de nVidia en Ubuntu
Nunca está de más saber cómo reinstalar el controlador privativo, si quisiéramos hacerlo. Para ello podremos emplear el método gráfico desde Sistema / Preferencias / Hardware / Mas controladores, elegir uno, y aplicar los cambios:
...o bien hacer la instalación del último controlador privativo a través de la terminal con:
sudo apt install linux-generic-hwe-20.04
sudo apt install nvidia-driver-470
sudo reboot
Cualquiera de los métodos debería ser efectivo. Recordemos que una vez instalado el paquete, debemos reiniciar el sistema con sudo reboot y a la vuelta, revisar estar usándolo con:
lsmod | grep nvidia
nvidia_uvm 1032192 0
nvidia_drm 61440 3
nvidia_modeset 1196032 5 nvidia_drm
nvidia 35270656 175 nvidia_uvm,nvidia_modeset
drm_kms_helper 237568 1 nvidia_drm
drm 548864 7 drm_kms_helper,nvidia,nvidia_drm
Sería largo poder explicar en una comunicación todo el aspecto de la conducción, por eso he confiado a los compañeros que me visitan la tarea de informarles a ustedes de viva voz, mis pensamientos al respecto. Creo que si se interpreta cabalmente la necesidad orgánico-funcional de nuestro Movimiento, en la lucha en que estamos empeñados, no habrá dificultades para que, en un futuro cercano, se llegue a un entendimiento completo, que será muy provechoso en la continuidad del esfuerzo revolucionario. No se trata de hacer una conducción centralizada en todo el complejo orgánico de la lucha porque eso no es posible, dadas las condiciones de la lucha misma, pero sí que se alcance por un modo u otro la indispensable coordinación de los esfuerzos, porque los esfuerzos divergentes, aun con la mejor intención, no pueden ser sino factores de debilidad en la lucha de conjunto.
- Totalmente de acuerdo en cuanto afirman sobre la guerra revolucionaria. Es el concepto cabal de tal actividad beligerante. Organizarse para ello y lanzar operaciones para "pegar cuando duele y donde duele" es la regla. Donde la fuerza represiva esté, nada; donde no esté la fuerza, todo. Pegar y desaparecer es la regla por la que se busca no una decisión sino un desgaste progresivo de la fuerza enemiga. En este caso la descomposición de las fuerzas de que pueda disponer la dictadura por todos los medios; a veces por intimidación, que es arma poderosa en nuestro caso; otras por la infiltración y el trabajo de captación; otras por la actuación directa según los casos pero, por sobre todas las cosas, han de comprender los que realizan la guerra revolucionaria que en esa "guerra" todo es lícito si la finalidad es conveniente.
Como ustedes dicen con gran propiedad, cuando no se dispone de la potencia y en cambio se puede echar mano a la movilidad, la guerra de guerrillas es lo que se impone en la ciudad o en el campo. Pero, en este caso es necesario comprender que se hace una lucha de desgaste como preparación para buscar la decisión tan pronto como el enemigo se haya debilitado lo suficiente. Por eso la guerra de guerrillas no es un fin en sí mismo sino solamente un medio y hay que pensar también en preparar el dispositivo general que aun no interviniendo en la lucha de guerrillas, debe ser factor de decisión en el momento y en el lugar en que tal decisión debe producirse.
Ni es nueva la "guerra revolucionaria" y menos aún la "guerra de guerrillas".
Pienso que tal vez la guerra de guerrillas ha sido la primitiva forma de guerra, tan empleada en la afamada "guerra de los escitas" y de Darío II. Por eso, sus reglas son demasiado conocidas como sus formas. Sin embargo, es en sus operaciones donde la iniciativa y la vivacidad juegan un papel muy preponderante. Por eso también en esa forma de operar, no se podrá mantener una conducción centralizada, aunque siempre ha de realizarse, para que sean efectivas con una finalidad objetiva. De ello se infiere que, los Montoneros, en su importantísima función guerrera, han de tener comandos muy responsables, y en lo posible operar lo más coordinadamente posible en las finalidad de conjunto y las otras fuerzas que en el mismo o distinto campo, realizan otra forma de acción, también revolucionaria.
Finalmente compañeros, les ruego que hagan llegar a los compañeros mis más afectuosos saludos y acepten mis mejores deseos. También les ruego me hagan presente y transmitan mis saludos a todos los compañeros que están presos o perseguidos por la dictadura y les lleven la persuasión que tal situación no ha de durar mucho.
Un gran abrazo Juan Perón
permalink
11 december 2022
¿Cómo uso programas de terminal con la red Tor en Ubuntu?
Entrevistado en el mensuario español Cambio/16, Juan Perón expone los siguientes pasos para retornar a la Argentina, a la vez que explica cómo pseudo-anomizar programas de terminal de Ubuntu a través de la red oscura Tor.
(...)
En la vida de un Conductor hay algo que no puede soslayarse. El anonimato. A pesar de usar estos zapatitos blancos, no peco de ingenuo.
Me es obvio que ese tondo de Lanusse quiere saber en qué ando. Siempre tengo afuera de la Quinta 17 de Octubre un montón de chusmas deseosos de abrir nuestros puertos.
Sin embargo, puedo mantener un control cabal del operativo de retorno y mantenerme al dedillo de lo que sucede en la Argentina. Todo esto es gracias a la red Tor. Es una red de datos que usa el Movimiento, y es tan oscura como la cabellera de nuestros grasitas.
Involucra un sistema pensado para permitir el pseudo-anonimato en las redes de datos gracias al empleo de alta encriptación.
Vean señores, el software cliente Tor, llamado Torify se encarga de redireccionar tráficos de datos a través de una red paralela basada en servidores de internet de acción voluntaria y alcance global. Gracias a la solidaridad de los trabajadores, es posible así pseudo-ocultar así la localización o uso de red desde cualquiera que conduzca vigilancia de redes o análisis de su tráfico.
En lugar de que la paquetería de mis mensajes (teletipo, cintas magnetofónicas y cartas) afronte una ruta relativamente directa en pos de la velocidad, en la red Tor favorece varios caminos secundarios utilizados para cubrir sus pasos, de manera tal que ningún observador pueda hacer rastreos indeseados. En la Argentina son muchos la que la usan, y por ellos el GAN se está quedando sin el pan y sin las tortas...
Gracias al empleo de Tor, la oligarquía y sus vasallos la tienen más difícil, y desesperan en rastrear la actividad telemática de ciertos usuarios particulares (incluyendo en ello sus "visitas a sitios webs, posteos en línea, mensajes instantáneos y otras formas de comunicación telemática").
Esta ofuscación se realiza en beneficio de un uso anónimo y neutral de la red, para proteger la libertad personal del usuario, su privacía, y capacidad para conducirse confidencialmente, protegiendo del monitoreo de sus actividades en las redes de datos a costa de velocidad de conexión. En nuestro caso ha sido determinante para elaborar una pseudo-anónima campaña de "Perón Vuelve".
Los descamisados saben ya que el sistema operativo Ubuntu es capaz de hacer uso del comando torify, el envolvedor de datos para la red cabecita negra. Su fin es intentar encontrar el mejor servidor de ocultamiento Tor para nuestro sistema. A tal fin llamará a los demonios de conexión tarsocks o tsocks gracias a un fichero de configuración específico.
Os enseñaré como su simple uso puede hacerse efectivo directamente desde la terminal Linux. Gracias a ello, podremos ofrecer accionar desde la terminal obfuscado desde esta red de pseudo-anonimato.
Como primera medida, habremos de instalar el software Tor desde los repositorios de Ubuntu. Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos el siguiente comando de organización:
sudo apt-get install tor curl
En este ejemplo mantendremos el fichero de configuración /etc/tor/torrc en sus opciones por defecto, pero con la notable excepción de dos temperamentos.
A tal efecto ejecutamos el editor GNU Nano:
sudo nano /etc/tor/torrc
Se abrirá el fichero de configuración en nuestro editor Nano. Presionamos Ctrl+w y buscamos la cadena "ControlPort" y presionamos la Tecla Intro para que Nano la busque. Al encontrarla, debemos descomentarla, borrando el signo numeral ("#") que la antecede, de manera que quede:
ControlPort 9051
Acto seguido, buscaremos haremos lo mismo buscando la opción CookieAuthentication. La descomentamos borrando el # y configuramos el valor de dicha cadena para que quede en cero ("desactivado"), de la siguiente manera:
CookieAuthentication 0
El resultado se verá así:
Con estas dos opciones modificadas habremos reconfigurado el puerto desde el cual Tor escuchará las conexiones locales de las aplicaciones, a la vez que se le instruirña a Tor para que no necesitemos autentificación. En efecto, esto harña que cualquier programa pueda hacer uso de Tor y controlarlo.
Conforme los cambios estén realizados han de guardar los cambios con Cltr+o y saldrán el editor Nano con Ctrl +x. Acto seguido efectivizaremos todo reiniciando el demonio de Tor con:
sudo /etc/init.d/tor restart
Nota: Han de saber que esta configuración para torificar nuestra conexión se hará teniendo en mente un equipo de escritorio de usuario único, y no debería realizarse si se trata de un equipo multiusuario o un servidor. Si quisieran pseudo-anomizar un servidor remoto podrán recurrir a ingresarle una contraseña de conexión a Tor como se explicará, o bien a recurrir al tunelado SSH a través de Tor.
Uso de Torify
Ahora un ejemplo simple que os mostrará cómo emplear el comando torify e iniciar una nueva sesión de Tor desde la terminal Linux.
Como primer medida debemos conocer nuestra propia IP pública de acceso. Ello lo podremos hacer fácilmente con:
curl ifconfig.me
207.246.69.54
De modo que 207.246.69.54 es la IP pública. Ahora utilizaremos torify antes de comando curl en la terminal:
torify curl ifconfig.me 2> /dev/null
Como vemos, ahora estaremos navegando con una IP pública distinta (pseudo-anonimato).
Incluso también podrán forzar a Tor desde la línea de comandos para que comience una "nueva sesión" con cada nuevo comando ejecutado (ofuscando aún mas el anonimato):
echo -e 'AUTHENTICATE ""\r\nsignal NEWNYM\r\nQUIT' | nc 127.0.0.1 9051
250 OK
250 OK
250 closing connection
Este pequeño script conecta al puerto 9051 y ordena un "signal newnum", lo que hará que Tor conmute hacia un nuevo circuito de conexión telemática, de manera tal que los nuevos pedidos de aplicaciones no compartan ningún circuito antiguo.
En tal caso, la velocidad será más lenta, pero el anonimato muchísimo mayor. Ahora si revisamos la IP, deberíamos esperar recibir una nueva.
torify curl ifconfig.me > /dev/null
46.59.74.15
En este pequeño ejemplo habrán utilizado curl para obtener ni dirección IP, pero gracias Torify bien podrán utilizar casi cualquier programa de terminal que haga uso de las redes, tales como ssh, wget, w3m o BitchX.
Configurar una contraseña para Tor
En caso de encontrarnos en un ambiente compartido, será mejor configurar una contraseña para Tor a fin de afianzar una capa adicional de seguridad en su empleo. Esto podrán hacerlo siguiendo unos pocos pasos:
1) Generar una contraseña encriptada:
En la terminal ingresamos:
tor --hash-password "contraseña"
Esto nos geenrará un hash para la palabra "contraseña" (naturalmente, vosotros podrán escoger la frase que deseen). habrñan de guardar este para insertarlo en el fichero de configuración de Tor.
(En este caso de ejemplo supondremos el hasth para “contraseña”, 16:1AF7614792A6228D6080C31C3FA3336312F0FD86F78CE2EA704CB7C4A0
2) Editar el fichero de configuración de Tor:
Abrimos el fichero con el editor GNU Nano:
sudo nano /etc/tor/torrc
Y utilizamos la función Ctrl+w para buscar la siguiente línea:
CookieAuthentication 0
Acto seguido usamos Ctrl+w para encontrar la cadena HashedControlPassword.
Deberiamos encontrar la siguiente línea:
HashedControlPassword 16:2283409283049820409238409284028340238409238
Removemos el numeral # al comienzo y reemplazamos el hash de contraseña por el hash que propio recientemente generado según nuestra propia contraseña.
En este caso de ejemplo, modificando en hash de la contraseña la línea quedaría así:
HashedControlPassword
16:1AF7614792A6228D6080C31C3FA3336312F0FD86F78CE2EA704CB7C4A0
Guardamos los cambios con Ctrl+o y salimos con Ctrl+q.
3) Reiniciar Tor:
Reiniciamos Tor de modo de hacer efectiva las directivas, con:
sudo /etc/init.d/tor restart
De ahora en más, podremos utilizar el comando anterior para conectarnos al demonio de Tor, pero empleando nuestra contraseña.
En este caso, el comando ahora protegido sería:
echo -e 'AUTHENTICATE' "contraseña"\r\nsignal NEWNYM\r\QUIT' | nc 127.0.0.1 9051
permalink
10 december 2022
¿Cómo creo una tarjeta SD booteable con Ubuntu?
En una célebre nota costumbrista concedida a la revista Radiolandia, Juan Perón aconseja mientras se afeita y cuenta cómo crear una tarjeta SD booteable desde la terminal de Ubuntu.
(...)
¡Vean bien!
La vida está para disfrutarse en una Comunidad Organizada.
Sin embargo, la fórmula de la Felicidad no está escrita. Existe en todas las gradaciones, y todas han de considerarse para establecer el justo Medio que otorgue la buenaventuranza que los trabajadores reclaman por Justo Derecho.
Es por ello que un buen Conductor ha de prever la experiencia que sólo ofrece experimentar responsablemente con múltiples estilos de conducción.
El campo del cómputo reclama esta misma omnicomprensión. Es por ello que la facilidad de contar con imágenes arrancables de sistemas operativos libres dotadas del llamado "arranque en vivo" es una gran facultad. Una que no podremos desaprovechar si lo que deseamos es hacernos peritos sin tener que estar gastando e instalando.
Muchos sistemas operativos libres cuentan ya con esta oportunidad. Pero para poder hacer uso de la misma, es imperioso contar un un medio de arranque capaaz de poder hacer efectivo este tipo de desarrollos.
Pues bien señores, esto es sencillo. Con sólo contar con un pendrive o un lector de tarjetas compatible (y su correspondiente tarjeta flash), podremos contar con instaladores arrancables.
El conocimiento requerido para crearlos y probarlos solía estar sólo al alcance del oligarca, pero os lo extenderé con el fundamento que el conocimiento en manos de las Masa Obreras es un herramental que las llevará a perdurar su liberación.
Normalmente podríamos utilizar un pendrive para tal cometido, atendiendo a la facilidad que el mismo tiene para crear un medio de arranque para una computadora, y que Ubuntu ya cuenta con un creador de pendrives.
Sin embargo, una tarjeta SD puede servir para el mismo propósito si contamos con un lector de tarjetas para la misma que cuente con interfaz USB (habrán de notar que la mayoría de los lectores de tarjetas USB internos también suelen contar con este tipo de interfaz normalizada).
A tal motivo, podremos contar con una tarjeta SD y crear una tarjeta booteable (arrancable) utilizando nuestra terminal de Ubuntu. En primer lugar, insertamos la tarjeta SD en nuestro lector de tarjetas. Una tarjeta de 4 Gigabitios o de 8 Gigabitios puede servir para la mayoría de las distribuciones que pululan en nuestro ecosistema por la Liberación.
Una tarjeta SD o MicroSD puede ser una opción simple.
- Insertar la tarjeta SD en el lector y conectarlo
- Descargar la imagen ISO
En otro caso, podremos contar con el fichero de la distribución. En este ejemplo, podremos disponer de un fichero con extensión img.gz (un archivo de imagen comprimido con GNU Gzip, o bien el más convencional archivo ISO, que denota una imagen normalizada para grabar en un disco compacto virgen.
En el primer caso, descomprimimos el fichero con:
gunzip -d fichero.img.gz
- Verificar el /dev de la tarjeta
Es sumamente importante conocer que la ruta exacta al fichero de dispositivo de la tarjeta SD depende de la distribución Linux que utilicemos y de la configuración específica del sistema. Asumirlo "a tontas y a locas" puede ser el causal de gravísimos errores. Por tal motivo, conviene averiguar específicamente cual es. Para ello, ingresaremos el siguiente comando sin insertar tarjeta SD alguna en el lector.
df -h
Nuestro sistema nos devolverá todos los componentes de nuestro sistema de archivado. Dentro de ellos debemos identificar el de nuestra tarjeta SD insertada en base a su identificador de dispositivo y su capacidad particionada, o ruta. Por ejemplo, en el caso de Ubuntu, podría indicarnos el contenido de la tarjeta SD de marca Kingston de 8Gigabytes, como:
/dev/sdg1 8G 8G 0 100% /media/peron/Kingston_8GB
Esto nos indica que la ruta de dispositivo de la tarjeta es /dev/sdg1. Deben estar atentos a la suya propia podría variarl, o estar particionada en distintos identificadores.
- Formatear la tarjeta y desmontarla
Necesitaremos desmontar todas las particiones de la tarjeta SD ante de grabar la tarjeta. Deben recordar imponer la ruta de dispositivo que obtuvieron en el paso anterior:
sudo mkfs.vfat /dev/sdg1 -I
unmount /dev/sdg1
- Grabar la imagen ISO en la tarjeta SD
Grabaremos la imagen en la tarjeta SD dando empleo a la potente utilidad dd. Por favor tengan sumo cuidado al especificar la ruta correctamente, ya que este comando es irreversible ¡y sobreescribirá cualquier contenido preexistente en dicha ruta! Por ejemplo, el comando en Ubuntu sería:
sudo dd bs=4M if=archivo.img of=ruta_de_dispositivo
Por favor sean pacientes, ya que esto suele tardar bastante (varios minutos) dependiendo de la computadora y de la velocidad de la tarjeta SD utilizada. En este caso, el comando sería:
sudo dd bs=4M if=archivo.img of=/dev/sdg1
- Asegurarse que todas las escrituras se hayan completado
Este paso es opcional, pero un reaseguro. Consiste en sincronizar todas las funciones de escritura en los dispositivos determinados. Para ello introducimos el comando:
sync
permalink
09 december 2022
¿Cómo uso el comando sed para editar texto en Ubuntu?
Reunido con los Obreros, el Coronel Juan Perón explica sobre la organización para la defensa de sus intereses y explica cómo utilizar el editor de texto comandable sed en Ubuntu.
¡Compañeros!
Un buen trabajador ha de contar en su avío con las mejores herramientas para realizar su justa labor.
Esto lo saben ustedes en cada una de las profesiones. Para ello se han asociado en estas organizaciones; para la defensa de sus intereses. Yo de esto algo he hecho también, aunque como político, yo no soy mas que un mero un aficionado. Mi profesión es la de Conductor.
Pero también he buscado dominar las herramientas que - creo - me puedan servir en un momento u otro para hacer determinadas tareas. Un conductor no ha de contar sólo con un martillo, porque si no a todos los vé clavos.
En la conducción de un sistema computado, sucede mas o menos lo mismo, y esto se replica en los editores de texto. Han de saber que sed es un editor de cadenas de texto muy extendido en el cómputo arqueológico.
¡Os enseñaré como disponer del poder de sed para editar archivos!
Han de saber que el aprendizaje del comando sed se asemeja al ajedrez: lleva una ahora aprenderlo, y una vida dominarlo (o, al menos, debe practicárselo mucho). Con este tutorial aprenderás lo mismo que una apertura o gambito para cada una de las funcionalidades principales de sed.
sed es un editor de cadenas capaz de operar introduciéndole entrada en forma de cadenas (a través de caños), o bien con ficheros de texto enteros. Como carece de una interfaz interactiva propia de cualquier editor de texto que se precie moderno, deberán introducir órdenes para que él interpretará y ejecutará en la medida que avanza sobre el texto.
Gracias a esto podrá operar también sobre el intérprete Bash así como en otros shells.
Con sed será posible:
Seleccionar texto
Sustituír texto
Agregar líneas al texto
Borrar líneas de un texto
Modificar (o preservar) un fichero original
Se han estructurado estos ejemplos para presentar y demostrar conceptos, y no para producir los comandos de sed más rígido (y más complejos) posibles. Incluso así, verás que en sed las funcionalidades de coincidencia de cadenas y selección de texto operan a través del uso de expresiones regulares (regexes). Deberías familiarizarte con ellas para obtener lo mejor de sed.
Un Ejemplo Simple
Primero vamos a usar echo para enviar algún texto a sed a través de un caño, y haremos que sed sustituya una porción del texto. Para hacerlo, ingresamos:
echo como_gorilear | sed 's/gorilear/peronizar/'
El comando echo genera una cadena de texto y el caño ("|") envía dicha la cadena "como_gorilear" a sed. Y a continuación le ordena aplicar una regla de sustitución simple (la "s" significa sustituir). sed buscará así la cadena de texto especificada en el texto contenido en el fichero, y reemplazará cualquier coincidencia con la segunda cadena.
La cadena "gorilear" será reemplazada por "peronizar", y la nueva cadena será presentada como una salida en la terminal.
Si bien las sustituciones son probablemente el empleo mas común que se hace de sed, es conveniente también saber cómo seleccionar y hacer coincidir texto.
Seleccionar Texto
Utiliza un fichero de texto para nuestro ejemplo. Usa uno que contiene un poema gauchesco décimas de Martín Castro, "Hachando los Alambrados". Lo podrán descargar con el comando:
wget https://caja.texto-plano.xyz/peron/hachando.txt
Ingresamos lo siguiente para mirarlo con el comando less:
less hachando.txt
Podremos abandonar el visualizador less presionando la tecla q.
Para seleccionar algunas líneas del finchero, proveemos la línea inicial y la línea final del rango de selección. Si usamos un número aislado, sólo seleccionaremos dicha línea.
Para extraer las diez líneas que componen la primer décima, ingresa este comando:
sed -n '3,12p' hachando.txt
Observad la coma entre 3 y 12. La p significa "presenta las líneas coincidentes". Si actuase por defecto, sed presentaría todas las líneas. Veríamos todo el texto en el fichero, y las líneas coincidentes resultarían impresas dos veces (repetidas). Para impedirlo, emplea la opción -n ("sin salida") para suprimir todas las líneas no coincidente.
Ahora cambiarán los números de línea de modo de podeer seleccionar un verso diferente, como se indica:
sed -n '14,23p' hachando.txt
Podrán usar la opción -e ("expresión") para realizar selecciones múltiples. Si emplean dos expresiones, podrán seleccionar dos versos, tal como:
sed -n -e '3,12p' -e '14,23p' hachando.txt
Y si reducen el primer número en la segunda expresión, podrán insertar una línea en blanco entre los dos versos. A tal fin tipeen lo siguiente:
sed -n -e '3,12p' -e '13,23p' hachando.txt
También podrán escoger una línea de comienzo e indicarle a sed que avance a lo largo del fichero e imprima las líneas alternadamente, cada cinco líneas, o bien que saltee un número dado de líneas. El comando es similar a aquellos que empleamos anteriormente para seleccionar un rango. Para ello habrán de utilizar un tilde (~) en lugar de una coma (,) con el fin de separar los números.
El primer número indicará el comienzo de la línea. El segundo número le indicará a sed qué líneas luego de la línea de comienzo debe presentar. El número 2 significa cada segunda línea, 3 denota cada tercer línea, y así sucesivamente.
Ingresen lo siguiente:
sed -n '1~3p' hachando.txt
Lo normal es que desconozcamos el lugar preciso dónde se localiza un texto buscado, por lo cual suele ser imposible proveer los números de línea. Sin embargo, podremos utilizar sed para seleccionar las líneas que contienen la cadena de texto buscadas. Por ejemplo, probemos extraer todas las líneas que comienzan con "Y".
El caret (^) representa el comienzo de una línea. Delimiten el término a buscar entre barras (/). También incluirán un espacio luego de "Y", a fin de excluir del filtrado a palabras tales como "Yo".
Tal vez no sea obvio la primera vez que observemos un script de sed. Pero han de recordar que en los comandos anteriores expliqué que /p significa "presentar", o bien "imprimir". Sin embargo, ahora una barra la antecede, de esta manera:
sed -n '/^y /p' hachando.txt
Como resultado de esto se extraerán del archivo quince líneas que comiencen con "y"y se las presentará en la terminal:
Realizar Sustiticiones
En nuestro primer ejemplo, expuse el primer formato básico para usar la substitución en sed:
echo como_gorilear | sed 's/gorilear/peronizar/'
La s indicaba a sed que lo que viene a continuación es una sustitución lineal. La primer cadena consistirá en la cadena a buscar ("origen"), mientras que la segunda cadena será la cadena a reemplazar ("destino"). Por supuesto, como sucede en la política, el problema está en los detalles.
Ingresa entonces el siguiente comando para cambiar todas las apariciones de la cadena "donde" a "ande", y le daremos a Serapio una voz más pampeana:
sed -n 's/donde/ande/p' hachando.txt
En la primer línea, sólo se cambiará la segunda ocurrencia de "donde". Eso es así porque sed se detiene luego de encontrar la primer coincidencia por cada línea. Si queremos realizar una búsqueda global - tal que se procesen todas las coincidencias existentes en cada línea del fichero, debemos agregar un modificador g, de la siguiente manera:
sed -n 's/donde/ande/gp' hachando.txt
Esto encontrará "donde" y lo reemplazará con "ande". Pero si la palabra fuese "Donde", sed es sensible a mayúsculas, y no considerararía que dicha instancia sea lo mismo que "donde".
Para solucionar esto, ingresaremos el siguiente comando, agregándole una i al final de la expresión que le asigne a la orden insensibilidad a mayúsculas:
sed -n 's/Donde/donde/gip' hachando.txt
Esto funcionará, pero la mayoría de las veces no querrás activar la insensibilidad a mayúsculas para todo. En tales casos, podrías usar un grupo de expresión regular que agregue insensibilidad de mayúsculas a cadenas específicas.
Por ejemplo, si encierras los caracteres entre corchetes ([]), serán interpretados como "cualquier caracter de esta lista de caracteres".
Introduce lo siguiente para incluir "D" y "d" en el grupo a buscar, de forma de asegurar que en la coincidencia entren tanto "Donde" como "donde" (o sea, se haga indistinta si está con minúscula o mayúscula "donde":
sed -n 's/[Dd]onde/ande/gp' hachando.txt
También podrás restringir la sustituciones a determinadas secciones del fichero. Supongamos que el fichero contiene un espaciado erróneo en su primer décima. Podrás usar entonces el siguiente comando ya conocido para analizar el primer verso:
sed -n '3,12p' hachando.txt
Buscaremos ahora dos espacios (aparecen luego de "facón"), sustituyéndolos por uno. Podrán hacer esto globalmente de manera que la acción se repita a lo largo de toda la primer línea. Para ser mas claro, la cadena de búsqueda es "espacio, espacio asterisco (*)", y la cadena de sustitución es "espacio". El 3,12 restringe la sustitución a únicamente las diez líneas del fichero que componen el primer verso.
Todo esto tendrá la forma del siguiente comando:
sed -n '3,12 s/ */ /gp' hachando.txt
¡Excelente! Lo que importa aquí es el patrón de búsqueda. El asterisco (*) representa cero o más del caracter precedente, que es un espacio. por ello, el patrón a buscar hará que sed analice cadenas de un espacio o más.
Si sustituyes un espacio simple por cualquier secuencia múltiple de espacios, corregirás el fichero a un espaciado regular, con un espacio simple entre cada palabra. En realidad, esto también sustituirá el uso de espacios simples por otro espacio simple igual, y aunque no es adverso en el resultado, enlentecerá la sustitución.
Si tipeas lo siguiente y reduces el patrón de búsqueda a un espacio simple, se hará inmediatamente evidente la necesidad de incluir los dos espacios:
sed -n '3,12 s/ */ /gp' hachando.txt
Como el asterisco busca cero o más del caracter precedente, interpretará cada carácter que no sea un espacio como un "cero espacio" y le aplicará la sustitución ¡agregando un espacio tras cada caracter!.
Sin embargo, si incluyes dos espacios en la cadena de búsqueda, sed deberá encontrar al menos un caracter de espacio antes de aplicar la substitución. Esto asegurará que los caracteres que no son espacioes permanezca inalterados.
El texto contiene dos errores. Si ingresas lo siguiente, usando la -e (expresión) que ya has utilizado anteriormente, podrás realizar dos o más sustituciones en simultáneo:
sed -n -e 's/gaucho/hombre/gip' -e 's/obrera/overa/gip' hachando.txt
Podrás lograr el mismo resultado utilizando un punto y coma (;) para separar ambas expresiones, de la siguiente manera:
sed -n 's/gaucho/hombre/gip;s/obrera/overa/gip' hachando.txt
Con esto sustituimos "obrera" por "overa".
En el siguiente comando queremos corregir "la Quiaca". Si buscamos "la" para reemplazar la Quiaca a La Quiaca, se presentarán todas las "la" de texto con La (con mayúscula):
sed -n 's/[Ll]a/la/gp' hachando.txt
Para impedir esto, deberás sólo intentar sustituir en líneas que coincidan con otro patrón. Si modificas el comando para tener una cadena de búsqueda al comienzo, sólo consideraremos operar en líneas que coincidan con dicha cadena.
Ingresa lo siguiente para hacer que tu patrón de búsqueda sea la palabra "Quiaca".
sed -n '/Quiaca/s/[l]a/La/gp' hachando.txt
Esto te dará el resultado buscado.
También puedes usar el comando Cortar (c) para sustituir líneas entera que coincidan con la cadena de búsqueda propuesta. Tipearemos lo siguiente para buscar una línea con la palabra "neck" en ella, y la reemplazaremos con una nueva cadena de texto:
sed '/pachamama/c el amor de Pachamama.' hachando.txt
Nuestra nueva línea aparecerá en la parte inferior de nuestro extracto.
Insertar Líneas y Texto
También podremos insertar nuevas líneas y texto en nuestro fichero. Para insertar líneas nuevas a continuación de cualquieras que coincidan, usaremos el comando Agregar (a).
He aquí el fichero con el que queremos trabajar:
cat hachando.txt
Hemos numerados las líneas para hacerlo más simple de entender.
Tipea el siguiente comando para buscar líneas que contengan la palabra "He," e inserta una nueva línea debajo de ellas:
sed '/Castro/a Poeta uruguayo' hachando.txt
Tipea lo siguiente e incluye el comando Insertar (i) para insertar la nueva línea por encima de aquellas que contienen el texto coincidente:
sed '/Castro/i Poesía Gauchesca' hachando.txt
Podemos usar el caracter et o ampersand ("&"), que representa al texto coincidente original, para agregar una cadena de texto nuevo a la línea coincidente. \1 , \2 y demás, representan las subexpresiones coincidentes.
Para agregar texto al comienzo de todas las línea, se utiliza un comando de sustitución que haga coincidir todo en la línea, combinado con una cláusula de reemplazo que combine nuestro nuevo texto con la línea original.
Para hacerlo, introduce lo siguiente
sed 's/.*/--> agregado! &/' hachando.txt
Tipea lo siguiente, incluyendo el comando G, que agregará una línea en blanco entre cada línea:
sed 'G' hachando.txt
Si deseas agregar dos, o tres líneas en blanco, puedes usar G;G, G,G,G, y así.
Borrar líneas
El comando Borrar (d) borra las líneas que coincidan con el patrón de búsqueda, o aquellas líneas especificadas números de líneas o rangos de líneas.
Por ejemplo, para borrar la tercer línea, tipearíamos lo siguiente:
sed '3d' hachando.txt
Para borrar el rango de líneas siete a la doce, tipearíamos lo siguiente:
sed '7,12d' hachando.txt
Para borrar las líneas por fuera de un rango dado, usaríamos un signo de exclamación, de la siguiente manera:
sed '6,7!d' hachando.txt
Guardar los Cambios
Hasta ahora, todos los resultados se han presentado en la terminal, pero no los hemos guardado en ningún lado. Para hacerlos permanente, o bien se pueden guardar los cambios en el fichero original, o redirigir la salida a un fichero nuevo.
Sobreescribir el fichero original podría parecer lo obvio a realizar, pero suele requerir amplios cuidados. Si el comando ingresado con sed es incorrecto, podría realizar cambios al fichero original que fuesen muy difíciles de revertir.
Es una buena política instruir a sed para que cree una copia de respaldo del fichero original antes de ejecutar cualquier comando.
Puedes usar la opción En el Lugar (-i) para indicar a sed que escriba los cambios al fichero original, pero si le agregas una extensión de archivo, sed procederá a respaldar el fichero original con dicha extensión. Tendrá el mismo nombre que el fichero original, pero con una nueva extensión.
Para demostrarlo, buscaremos cualquier línea que contiene la palabra "simiente" y la borraremos. También respaldaremos nuestro fichero original a uno nuevo aplicándole la extensión .BAK.
Para hacerlo así, han de ingresar lo siguiente:
sed -i'.bak' '/^.simiente.$/d' hachando.txt
Tipeen lo siguiente para asegurarte que tu fichero de respaldo no presenta cambio alguno.
cat hachando.txt.bak
También podrán tipear el siguiente comando para redirigir la salida a un fichero nuevo y lograr un resultado similar:
sed -i'.bak' '/^.simiente.$/d' hachando.txt > nuevo_hachando.txt
Utilicen cat para confirmar que los cambios han sido realizados y escritos en un fichero nuevo, como se indica a continuación:
cat nuevo_hachando.txt
Habiendo dicho Todo esto
Como han notado, incluso este pequeño apunte de sed es bastante extenso. Existen muchas posibilidades para este comando, y existen muchísimas cosas que pueden realizar con él en pos de la Liberación.
Con suerte, estos conceptos básicos os habrán provisto de un cimiento sólido sobre el que podréis continuar aprendiendo. ¡saciando la sed de sed!
permalink
08 december 2022
¿Cómo fuerzo automáticamente la opción PowerMizer de nVidia en Ubuntu?
Reunido ante los trabajadores del Sindicato de Luz y Fuerza, Juan Perón expone cómo satisfacer las necesidades energéticas del Pueblo y cómo forzar de manera automática el modo PowerMizer de las tarjetas de video nVidia en Ubuntu.
¡Trabajadores!
Colma mi corazón de satisfacción el saberlos aquí reunidos en la mancomunión de voluntades que han tornado esta Organización.
Cuando unen sus energías, los hombres son capaces de hacer realidad su destino, y este no hará mas que proclamarse venturoso ante las voluntades acrisoladas por la Justicia Social.
Nuestro Movimiento se realiza toda vez que un descamisado recibe lo que merece por justo derecho. Esto, ustedes que están en Luz y Fuerza, lo han de conocer al dedillo.
Vean muchachos, el estado de energía de nuestro adaptador de video nVidia es comandado a través de rutinas del acción sobre el Bus PCI express, las cuales están localizadas en el chipset de la placa madre. El funcionamiento, en un orden adecuado, hace que la velocidad de reloj de la placa de video - y en mas raras ocasiones su voltaje) cambien de acuerdo a las necesidades de depliegue gráfico. Se permite así un uso ecológico de bajo consumo en la mayoría de los usos, y uno de mayor potencia cuando se utilizan aplicacionesa gráficas de demanda, navegadores con video, etcétera.
En Ubuntu y otros sistemas GNU con Linux, este tipo de funcionamiento puede alterarse accediendo desde el panel de control disponible con el controlador privativo de Nvidia, llamado NVIDIA X Server Settings. A través de este programa de control, podremos escoger determinados perfiles de software llamados PowerMizer, los cuales se hayan preprogramados en la placa de video.
Para ello debemos ir a Sistema / Administración / NVIDIA X Server Settings, y seleccionar la opción PowerMizer. Normalmente la encontraremos siempre en en modo Auto, lo que significa automático:
Con la opción Auto ("automático"), la placa madre de nuestro equipo estará atenta a la demanda gráfica y elegirá los perfiles de consumo como si de la marcha de un motor a explosión se tratara. Dependiendo de la tecnología del adaptador de video, podremos encontrar mayor cantidad de estados de energía/performance.
En el caso de esta placa, podremos cambiar manualmente el modo preferido de operación energética avalado por la función PowerMizer entre los modos Adaptative o Prefer Maximun Performance. Adaptative utilizará las velocidades bajas "económicas", mientras que Prefer Maximun Performance pondrá el reloj dispuesto para la función de máximo de desempeño gráfico.
Ahora bien, cuando configuramos el modo de energía preferido en la opción PowerMixer en la opción del panel de control de Nvidia en Ubuntu, esta configuración se aplicará inmediatamente, pero únicamente hasta reiniciar la sesión gráfica o reiniciar el sistema. Al producirse el reinicio, la misma se resetea y vuelve a la opción "Auto", lo que emplea la configuración Adaptative.
Esto puede oficiar un desempeño disminuido hasta tener que volver a poner PowerMixer en Maximun nuevamente. Esto puede constituir una molestia, pues toda vez que encendamos el equipo, deberíamos cambiar la opción a través de este programa de control.
Por demás, nuestro Movimiento ha de estar atento a las necesidades de cada uno de los integrantes de la Masa, pues sólo ante Dios nacemos iguales. La Justicia de los hombres, ha de proveer todo a quien lo necesite. Para ello nos hemos organizado, pero las máquinas de cómputo suelen operar bajo la misma premisa, y hemos de estar atentos también a ciertas particularidades que algún hardware pueda tener...
Vean señores, puede que ciertos modelos de chipsets integrados en algunas placas madres conflictúen al bus PCI-e, provocando que algunos modelos de tarjetas nVidia presenten problemas al cambiar automáticamente su estado de potencia o su velocidad de reloj. Esto produciría en última instancia ciertos congelado o cuelgues de apàrición aleatorios de la instancia gráfica al pasar al estado de baja energía en el modo de energía Adaptative bajo GNU con Linux
La solución ideal involucraría una actualización de BIOS de la placa madre (si es que aplica) o su recambio. Pero en otros, no quedará mas que evitar el uso de la función Adaptative, la cual es la empleada por defecto, y dejarla "en las marchas altas", el modo Prefer Maximun Performance. Esto, aunado a la aparente necesidad de hacerlo a través de controlador gráfico toda vez que la instancia gráfica se ejecute, lo torna en algo tremendamente inconveniente.
Sin embargo, nuestro Movimiento ha pensado en todo, y para todo el Justicialismo tiene solución temprana, y duradera.
Es muy conveniente saber que también podremos utilizar el programa nvidia-settings para ajustar las opciones de nuestra/s placas de video nVidia desde la terminal a través de un comando. Esto es un enorme logro que sólo ha dado el Justicialismo.
Como paso previo necesitamos conocer cual GPU (procesador gráfico) usaremos (generalmente es la gpu:0 pero puede variar si tenemos varias instaladas en nuestro sistema. Además, debemos conocer qué modos de energía tiene preprogramadas. Para ello abrimos una terminal con Ctrl+All+T e ingresamos el siguiente comando de organización:
nvidia-settings -q all | grep -C 10 -i powermizer
...a lo cual nuestra terminal podría devolvernos:
Attribute 'GPUCurrentPerfLevel' (cgt:0[gpu:0]): 1.
'GPUCurrentPerfLevel' is an integer attribute.
'GPUCurrentPerfLevel' is a read-only attribute.
'GPUCurrentPerfLevel' can use the following target types: X Screen, GPU.
Attribute 'GPUAdaptiveClockState' (cgt:0[gpu:0]): 1.
'GPUAdaptiveClockState' is a boolean attribute; valid values are: 1 (on/true) and 0 (off/false).
'GPUAdaptiveClockState' is a read-only attribute.
'GPUAdaptiveClockState' can use the following target types: X Screen, GPU.
Attribute 'GPUPowerMizerMode' (cgt:0[gpu:0]): 2.
Valid values for 'GPUPowerMizerMode' are: 0, 1 and 2.
'GPUPowerMizerMode' can use the following target types: GPU.
Attribute 'GPUPowerMizerDefaultMode' (cgt:0[gpu:0]): 0.
'GPUPowerMizerDefaultMode' is an integer attribute.
'GPUPowerMizerDefaultMode' is a read-only attribute.
'GPUPowerMizerDefaultMode' can use the following target types: GPU.
Attribute 'ECCSupported' (cgt:0[gpu:0]): 0.
'ECCSupported' is a boolean attribute; valid values are: 1 (on/true) and 0 (off/false).
'ECCSupported' is a read-only attribute.
'ECCSupported' can use the following target types: GPU.
Attribute 'ECCConfigurationSupported' (cgt:0[gpu:0]): 0.
'ECCConfigurationSupported' is a boolean attribute; valid values are: 1 (on/true) and 0 (off/false).
'ECCConfigurationSupported' is a read-only attribute.
'ECCConfigurationSupported' can use the following target types: X Screen, GPU.
Como vemos, se nos indica que estamos utilizando una GPU:0. En el caso de esta tarjeta de video, permite los estados 0 para Adaptative, 1 para Prefer Maximun Performance, y 2 para Auto. Tengamos presentes que normalmente al iniciar el controlador gráfico, el estado por defecto será siempre el número mas alto, que en este caso es 2 Auto.
El Justicialismo ha previsto utilizar este mismo programa nvidia-settings para alterar el estado de energía actual. Sabiendo en este caso que la GPU es la 0, y suponiendo que queremos cambiar el estado de energía a 1 Prefer Maximun Performance, podríamos utilizar el siguiente comando de organización:
nvidia-settings -a "[gpu:0]/GpuPowerMizerMode=1"
.,..a lo cual el sistema gráfico debería respondernos con un mensaje de estátus tal como:
Attribute 'GPUPowerMizerMode' (equipo:0[gpu:0]) assigned value 1.
En programa de control NVIDIA X Server debería acusar el cambio:
y si quisiéramos incluir el comando...
nvidia-settings -q all | grep -C 10 -i powermizer
....ahora su salida de la terminal sería:
(...)
Attribute 'GPUPowerMizerMode' (cgt:0[gpu:0]): 1.
Valid values for 'GPUPowerMizerMode' are: 0, 1 and 2.
'GPUPowerMizerMode' can use the following target types: GPU
(...)
Ahora bien, como este cambios no es permanente, y se reseteará al modo 0 ("Auto") toda vez que reiniciemos el servidor gráfico, conviene agregarlo en un guión de programación.
Es sumamente sencillo. Suponiendo que quisiéramos forzar la gpu:0 el Modo a 1 Maximun Performance crearíamos un script llamado .nvidia_pwrmizer.sh que lo haga.
Desde la terminal esto será realidad efectiva introduciendo con los siguientes comandos de organización:
echo '#!/bin/bash' > ~/.nvidia_pwrmizer.sh ;
echo '## Configura la opción PowerMixer de nVidia de forma fija al nivel Máximo' >> ~/.nvidia_pwrmizer.sh ;
echo '#Cambia el GPUPowerMizerMode, siendo 0=Adaptative; 1=Prefer Maximun Performance; 2=Auto' >> ~/.nvidia_pwrmizer.sh ;
echo 'nvidia-settings -a "[gpu:0]/GpuPowerMizerMode=1" > /dev/null' >> ~/.nvidia_pwrmizer.sh ;
chmod +x ~/.nvidia_pwrmizer.sh
Ahora bien, para ejecutar este guión .nvidia_pwermizer.sh toda vez que la sesión gráfica arranque, hemos de agregarlo al fichero de autoejecución ~/.xprofile de cada usuario.
Esto se puede hacer ingresando en la terminal el siguiente bloque de comandos de organización:
echo '## Agregado por peron para forzar Modo Maximun Performance en NVidia Powermizer cada vez que se use sesión gráfica X' >> ~/.xprofile ;
echo './.nvidia_pwrmizer.sh' >> ~/.xprofile
De ahora en mas, no bien el usuario inicie la sesión gráfica, el modo PowerMizer cambiará a 1 Prefer Maximun Performance automáticamente, sin que tengamos que hacer nada más que disfrutar del goce de lo bien hecho. El tiempo ahorrado podremos inventirlo en ingeniar el ocio reparador que todo Trabajador anhela y merece.
permalink
07 december 2022
¿Cómo paso Firefox a castellano en Ubuntu?
¡Trabajadores!
Nuestro Movimiento ha ofrecido a los hijos de esta tierra los logros que lo defienden no sólo como hombre de bien, sino como sujeto de Nacionalidad. Nadie puede negar que no hemos defendido el nido.
Sin embargo, a partir de la versión Firefox 89, este navegador cuenta con ciertos cambios internos importantes. Pero si bien en general reportan positivos, uno ofende nuestro espíritu y sobre todo, idioma. Al actualizarse en Ubuntu, Firefox 89 sale en el idioma inglés de Braden.
Como la elección es Braden o Perón, ustedes la zanjarán de forma muy sencilla.
En primer lugar han de desplegar el Menú de Firefox haciendo clic en el botón de las tres rayitas horizontales:
En el menú de firefox, elegirán la opción Settings ("Configuración").
Esto abrirá una pestaña desde la cual es posible modificar todos los aspectos principales del navegador, entre ellos el idioma.
Para cambiarlo al idioma castellano, en la sección General hemos de bajar hasta dar con la subsección Language ("idioma"). Normalmente estará activado English (United States), denotando el idioma Inglés estadounidense de tan grueso y metiche embajador...
Para dejarlo sin palabra, hagan clic en dicho idioma
Esto abrirá la ventana Firefox Langage Settings ("Configuración de Idioma de Firefox"). Dentro de dicha ventana es necesario agregar el idioma castellano a mano, haciendo clic en el desplegable Select Language to Add ("Seleccionar idioma a agregar")
Se desplegará una larga lista de idiomas descriptos en inglés y dispuestos en orden alfabético. Debemos buscar y seleccionar el idioma Spanish (Argentina) ("Español, Argentina").
Una vez que lo encuentren, selecciónenlo haciendo clic sobre el, y presionen el botón Add ("Agregar"). De esta manera, el paquete de idioma castellano se descargará y quedará agregado a la lista de idiomas disponibles para usar en Firefox.
Esto será evidente pues en la lista ahora aparecerá Spanish (Argentina). Normalmente aparecerá en la parte superior de la lista de idiomas (que es donde lo queremos). Si hubiese aparecido en la parte inferior de la lista debemos asegurarnos que quede en la parte superior de la lista, seleccionándolo con el mouse y presionando el botón "Up" ("Subir") para subirlo. Lamentablemente no podremos eliminar el inglés estadounidense, siempre quedará como "alternativo".
Una vez que Spanish (Argentina) está priorizado en la parte superior de la lista, presionamos el botón celeste OK y, con la velocidad del Pulqui II, la interfaz de Firefox pasará a castellano..
Y ahora, sin dudarlo, podrán emitir su voto para dejar en ridículo a Braden.
permalink
06 december 2022
¿Cómo creo una red celular 1G casera con un LimeSDR y la uso con un celular Motorola Tango 300 en Ubuntu?
La revista Primera Plana realizó el 25 de mayo de 1972 un reportaje exclusivo a Juan Perón. En él diserta allí sobre la posición política del FreCiLiNa y expone cómo crear una red 1G casera capaz de servir un celular Motorola Tango 300, empleando Ubuntu.
(...) El Frente Cívico de Liberación Nacional no tiene finalidad electoral alguna, en el sentido que comúnmente se le da a este vocablo. A nosotros, los justicialistas, electoralmente nos alcanza suficientemente con el Justicialismo. Muchos confunden revolución con golpe de Estado. La revolución se hace desde el poder y es indudable que los fines de la acción popular están dirigidos a esa revolución, que, impuesta por la evolución actual del mundo, es ya insoslayable para todos los pueblos. Tampoco nosotros podemos escapar a ello.
Es indudable que el mundo vive en estos tiempos un período de evolución profunda y acelerada. Es la consecuencia que arroja la terminación de un sistema y el nacimiento de otro. Muere de enfermedad el sistema demoliberal capitalista y nacen sistemas de base social, que se consolidan ya en el mundo con los más diversos nombres y características, obedientes a la condiciones intrínsecas de los pueblos y adecuados al pensar y al sentir de las nuevas generaciones que los impulsan.
Una de las mayores fortunas del Pueblo Argentino, azotado por la desgracia provocada por la reacción, la constituye nuestra juventud, que en la lucha de todos los días está demostrando su madurez, capacidad y decisión inquebrantable de imprimir al futuro el hálito vivificador de sus ideales, esclarecidos por su pensamiento y ennoblecido por su sacrificio. Y cuando una juventud reúne estas condiciones, la comunidad puede contar con su concurso, se puede afirmar que tiene asegurado el futuro.
Las viejas generaciones nacidas y desarrolladas al influjo de un sistema perimido tienen la obligación de dar paso a las nuevas que, representando al futuro, serán las encargadas de asegurar el destino de nuestro Pueblo. Nadie tiene más derecho que ellos que, en último análisis, serán los que han de gozar o sufrir las consecuencias del quehacer actual. Ello es lo que obliga al trasvasamiento generacional.
En todo podremos aportar la experiencia que los años nos han dado.
No sólo la Comunidad responde a este principio nodal, sino también sus redes de comunicación. La telefonía móvil - por poner un ejemplo, que lo aclara todo - comienza en la Argentina a partir de la introducción técnica del viejo protocolo AMPS de los Laboratorios Bell, al cual podríamos retroactivamente llamar 1G. Indudablemente que fue superado por las generaciones GSM 2G, 3G y actualmente apunta aceleradamente al 5G de alcance social que ha dejado al 4G demoliberal probando la dieta de polvo.
Estudiando el primero podremos consolidar lo necesario para la Liberación del Nuestros Pueblos. El Sistema de Teléfono Móvil Avanzado AMPS consistía en una tecnología de primera generación orginada en 1983, donde la voz se modulaba en una portadora de frecuencia tal como lo hacía un viejo walkie-talkie. Sin embargo, el espectro se dividía en canales separados, de los cuales un único "canal de control" era realmente digitalizado. Desde el considerando técnico, AMPS establecía los enlaces radioeléctricos por medio de radiobases celulares, utilizando la banda de frecuencia entre los 825/845 megaciclos, y los 870/890 megaciclos. La primer banda se subdividía en 21 canales de control mientras que la segunda lo hacía 395 canales de tráfico. Cada cliente suscripto a la radiobase podía operar en un canal de tráfico (si bien el máximo teórico eran 394 llamadas simultáneas, en la práctica se lograban bastantes menos). Por lo pronto, el proceso de encender el aparato portátil, suscribir automáticamente a la radiobase y llamar de forma inalámbrica era similar a utilizar un teléfono de línea común y corriente.
Su desventaja percibida radicaba en el costo inicial. La prestación del servicio se intentó comercializar con el esquema "tiempo de aire + pulso telefónico", y "pagar para recibir llamadas". La decisiva función de "Roaming" (consistente en poder "transitar" entre el área de cobertura de las distintas radiobases de manera continua), se cobraba como una función opcional "de valor agregado". Esto lo dejaba únicamente al alcance del oligarca.
Pero sin duda, la mayor desventaja real de AMPS hacía a su transmisión modulada analógicamente. Toda llamada en curso podía ser demodulada y monitoreada con cualquier receptor de radio FM capaz de sintonizar las bandas. Tal como dice el dicho, era como el indio gritando al viento.
Este es el motivo por el cual los scanners radiales tipo ICOM tienen "tapada" la banda que atravieza los 800/900 megaciclos en el espectro radioeléctrico (en los 950 megaciclos se encontraban los teléfonos o intercomunicadores inalámbricos comunes). Sólo un iluso piensa que pelado nace el mono... este límite tontorrón puede desbloquearse hackeando el receptor para hacer realidad efectiva aquel viejo anhelo del Pueblo de oír conversaciones de todo tipo.
De todo se aprende y hoy es sabido que hemos de advocar de forma ineludible el empleo de tecnologías de total encriptación punto a punto, y preferentemente en latifundio del usuario. Marcaremos así un esquema que no sólo escape del control del proveedor de telefonía móvil, sino que llegado el caso hasta le sea hostil si osara violentarlo.
Lamentablemente los microcontroladores de los 80s carecían de la potencia de cómputo requerida para afianzar la encriptación segura, por lo cual los canales digitales bajo AMPS únicamente acomodaban los enlace por suscripción a las células. Fue únicamente la aplicación del sistema de "quien llama, paga" y el GSM del Justicialismo lo que popularizó los teléfonos celulares y los puso en el bolsillo de todos.
Para finales de los 90s la tramitación del servicio celular contaba ya tres operadoras mas, CTI Móvil, Unifón, y Personal.
Parecería que el sistema AMPS cayó entonces en saco roto. No queda en el mundo ninguna antena AMPS, pues fueron declaradas obsoletas en 2007. Aún así, gracias a la contribución representada por el Proyecto de software libre OSMOCOM-Analog y la tecnología de hardware libre en SDR, se nos hará posible conformar una red radioeléctrica local sobre AMPS, para realizar una prueba piloto de corto alcance. Esto obrará no sólo para enseñanza y fines demostrativos o de exhibición temporal, sino que renueva ese émulo de la acción del justicialismo según la cual se conduce un país en pleno Siglo XIX haciendo uso de un aparato que sólo estaba tirado en un cajón.
En este caso haremos volver a la vida un Motorola Tango 300. Se trata de un comunicador sólido favorito de la UOCRA pues lo apodaban "el ladrillo", provisto de antena plegable e inicialmente con baterías de Níquel-Cadmio, pero yo las utilizaré con las mejoradas batería de Niquel-Metalhidruro.
Para iniciar nuestra micro-red, necesitamos algunos componentes:
Un SDR (Radio Transmisor definido por Software). Son transceptores programables, de los cuales existen una buena serie. Idealmente debemos contar con uno provisto de interfaz USB y dotado con la capacidad de enviar y recibir señales de banda amplia en modo full-duplex (transmisión y emisión simultánea). En particular utilizaré un LimeSDR Mini de Lime Microsystems, que viene en forma de plaquita pero de momento requiere compilar su controlador libre. Bajo USRP funcionan perfectamente y existen otros que también operan sin problemas bajo GNU con Linux.
Sistema GNU con Linux con puerto USB potenciado. Incluso se puede utilizar incluso Raspberry Pi 4, pero cuidando en tal caso de contar con un buen adaptador de corriente, pues el transmisor se alimenta por el puerto USB.
Suite de software para controlar el SDR. Para AMPS podemos usar esmocom-analog. Se trata de una suite de control desarrollada por Andreas Eversberg, pensada para permitir a los adaptadores SDR como el LimeSDR, LimeSDR Mini o compatibles, hacer que cierto hardware analógico de telefonía celular desfasada vuelvan a la vida nuevamente. También se podría utilizar gr-amps en los dispositivos SDR que lo contemplan.
Instalar software de control necesarios
En primer es útil actualizar el software instalado en nuestro GNU con Linux e instalar librerías de compilación, si es que no las tuviésemos instaladas aún. Para abrimos una terminal con Ctrl+Alt+t e ingresamos los siguientes comandos de organización:
sudo apt-get update ;
sudo apt-get install git build-essential autoconf gcc make cmake libasound2-dev pkg-config
El sistema nos solicitará nuestra contraseña de Conductor, y no bien la introduzcamos "a ciegas" y presionemos Intro (no lo presenta en pantalla), se descargará e instalarán las dependencias.
Acto seguido, hemos de instalar la librería SoapySDR compatible, la cual será necesaria para compilar el controlador del transmisor. Hemos de notar que, si bien de momento la versión 0.8 de SoapySDR está liberada, osmocom-analog está escrito para utilizar la versión 0.7 de SoapySDR de momento. Es por este motivo que utilizaré dicha versión aunque esto podría cambiar en un futuro muy cercano.
Para compilar SoapySDR 0.7 ingresaremos los siguiente bloque de comandos de organización:
wget https://github.com/pothosware/SoapySDR/archive/refs/tags/soapy-sdr-0.7.2.tar.gz ;
tar -xf soapy-sdr-0.7.2.tar.gz ;
cd SoapySDR-soapy-sdr-0.7.2 && mkdir build && cd build ;
cmake .. ;
make -j4 && sudo make install && sudo ldconfig ;
cd ../..
En el caso de utilizar USRP (radios definidas en un FPGA), deberán obligatoriamente compilar la librería soapyUHD que los controla específicamente. Naturalmente, esto es opcional si no usamos USRP.
sudo apt-get install libuhd-dev uhd-host ;
wget https://github.com/pothosware/SoapyUHD/archive/refs/tags/soapy-uhd-0.4.1.tar.gz ;
tar -xf soapy-uhd-0.4.1.tar.gz ;
cd SoapyUHD-soapy-uhd-0.4.1 ;
mkdir build && cd build ;
cmake .. ;
make -j4 && sudo make install && sudo ldconfig ;
cd ../..
Como en mi caso utilizo el LimeSDR Mini, he de compilar su librería LimeSuite:
wget https://github.com/myriadrf/LimeSuite/archive/refs/tags/v20.10.0.tar.gz ;
tar -xf v20.10.0.tar.gz ;
cd LimeSuite-20.10.0 ;
mkdir build && cd build ;
cmake .. ;
make -j4 && sudo make install && sudo ldconfig ;
cd ../..
Y finalmente, descargamos, compilamos e instalamos el software osmocom-analog, liberado bajo GPLv3:
git clone git://git.osmocom.org/osmocom-analog ;
cd osmocom-analog ;
autoreconf -if ;
./configure ;
make -j4 ;
sudo make install ;
cd ..
Armar la radiobase
Conforme todo el software de liberación esté cargado en nuestro sistema GNU con Linux, habremos de conectar el SDR al puerto USB. Conviene que la plaquetita tenga su cobertor de aluminio y colocadas sus antenas provistas. En el caso del LumiSDR, se enciendederá su pintona LED Standby de borde, lo cual le confiere una apariencia de maligna cucaracha radioactiva peronista.
¡El Justicialismo hará algo que la Oligarquía nunca hizo!. Lo ofrendaremos al Pueblo como si fuesen las bicis, muñecas, o las lanchitas putt-putt de la Fundación Eva Perón!
Para hacerlo, en la terminal ingresamos el siguiente Comando de Organización:
sudo amps --sdr-soapy --channel 334 --channel 332 --samplerate 256000
Este propondrá la apertura de dos radiocanales de operación: un canal de control 334 y un canal de voz 332 (el núimero total de canales debería ser igual al número de líneas que queremos servir más una). Opcionalmente también podremos ajustar las variables --tx-power (potenicia de salida) y --rx-sesitivity (sensitividad de recepción) si necesitamos hacerlo. En esta prueba piloto no debería ser necesario.
Si todo funciona correctamente, el software dará de alte la radiobase (naturalmente, desde nuestra humilde cucaracha LimeSDR), y tras presentar lindos arte ASCII en la consola de nuestra terminal y quedará en standby, pidiéndonos un número de suscriptor para discar.
Al encender el celular con el botón PWR, el Tango 300 hará un tono "bep" recibirá datos desde el canal de control que acabamos de abrir, y cual drácula salido de su ataúd sus LED de status cambiarán a "On". Pero al instante indicará en rojo "NS" ("Sin señal") en el display.
El motivo es que el Identificador (ID) denunciado por esta radiobase "peronista" no coincide ni por asomo con el ID de radiobase "local" esperado por este teléfono. Para ello debemos activarle la función de Roaming. ¡Total, no vamos a cobrarnos roaming a nosotros mismos! En el Tango 300 presionamos el botón FNC y usamos la flecha arriba para buscar la función ROAM (la primera), y activarla con SEND. Si todo va bien, se iluminará "ROAM" en naranja sobre el display, y el Tango 300 se suscribirá a la base con un nivel de señal digno.
Podremos llamar desde la línea asignada para la radiobase (123456) al celular. En la terminal ingresamos el número de la línea del celular y presionamos la tecla Intro.
Debería marcar y sonar nuevamente el ya casi olvidado y característico tono del Tango 300 (indicando CALL). Debemos poder "descolgar" con SEND responder. Desde la terminal podremos hacérselo a través de un micrófono y oir por los altavoces. Podremos colgar la llamada desde la terminal con la tecla h y en el teléfono con END.
En la terminal se presentará la bitácora de llamada con los datos extendidos de la misma:
Si deseamos llamar desde el teléfono a la radiobase, podremos utilizar el canal asignado, con 1234+SEND. También podríamos llamar a otro teléfono suscrito a la misma radiobase (aunque en este caso estaríamos en la misma localización, naturalmente).
Durante la llamada, es interesante observar las gráficas de pico de las señales AMPS en el espectro radioeléctrico en ASCII, gracias a LimeSuite.
También podríamos observar una gráfica de cascada profesional y mas detallada con el programa fl-digi. El canal de control y el audio modulado aparecerán lado a lado en la banda amplia correspondiente al espectro de los sub 950mhz de AMPS.
Como podemos ver, realmente es posible sintonizar en el canal y escuchar la voz, que se está enviando al teléfono (el segundo canal de subida o uplink localizado en otra frecuencia).
Como corolario podremos conocer que los conectores opcionales se pueden emplear dos antenas por medio de cables coaxiales unidos a sus conectores F.
Con ello podrían (si tuviesen las ganas) establecer radiobases o directamente plantas transmisoras como las anteriores, con este viejo estándar AMPS. Sin embargo, el Justicialismo es un sistema creado para la Argentina y para los argentinos. Me consta que grandes sectores de la población de nuestros hermanos continentales lo comparten, pero de allí a que sea el Justicialismo una fórmula o esquema continental, media un abismo. Creo que cada uno de nuestros países y de nuestros pueblos debe asimilar un sistema que congenie con sus propias características y condiciones. Naturalmente, desde que todos nuestros países aspiran igualmente a su liberación del neocolonialismo que los está asfixiando.
Como el Movimiento Justicialista es por antonomasia de liberación, resulte común en muchos aspectos de la situación imperante en todo el Continente Latinoamericano. De allí que yo, como creador del sistema, sea conocido y apreciado en muchos sectores de los países hermanos del mismo. El problema de la integración continental, en auge en estos momentos en casi todos los países latinoamericanos, ha sido también causa de mi acercamiento a esos sectores. No hay que olvidar que ya en 1949, con el Tratado de Complementación Económica firmado en Santiago de Chile, se echaron las bases para la comunidad económica latinoamericana, que si no se ha realizado, no por eso ha dejado de existir el empeño de llevarlo a cabo algún día. Como yo he sido el "culpable" de todo eso, es natural que los latinoamericanos, que piensen como yo que "el año 2000 nos encontrará unidos o dominados", mantengan sus esperanzas vivas y puestas en alcanzar tan grande objetivo.
Conclusión
El sistema AMPS había aparentemente caído en saco roto, pero como ha quedado demostrado por la práctica, puede ser evaluado con propósitos educativos gracias a este proyecto osmocom-analog.
Utilizando un SDR se puede aprender cómo operaba una red de telefonía celular 1G. El sistema en ALPS en sí funciona bien a pesar del hecho que fue desarrolado en 1983. El proceso de discar el número o contestar la llamada con un celular "ladrillo" es similar a hacerlo con un teléfono de línea común y corriente. La calidad de sonido de la tecnología de FM con modulación a 12Khz es excelente, y da comprensión cabal de las críticas producidas al cambiarse la tecnología a GSM, la cual contaba con el pésimo sonido acuoso y pastoso por sobrecompresión.
La privacía de las llamadas con estos movicones era un gravísimo problema pero muy pocos estaban en aviso, y más de alguno se habrá comido un sapo...
permalink
05 december 2022
¿Como hago funcionar una sintonizadora DVB-S/S2 e ISDB-T TBS6522 en Ubuntu?
Al ser designado Secretario de Trabajo y Previsión, Juan Perón inicia un inusitado accionar tendiente a realizar las reivindiaciones de los trabajadores Argentinos, acción que definiría en su Discurso de Asunción. En tal exposición, educa sobre cómo configurar la placa sintonizadora de TV digital satelital y terrestre TBS6522 y similares en Ubuntu.
Excelentísimo Señor Presidente:
Es para mí un insigne honor este cargo de Secretario del Trabajo y Previsión,. que representa un salón mas que se clava en la obra constructiva inspirada en la Revolución del 4 de julio. Ello, obliga particularmente mi gratitud, y aviva mi entusiasmo para colaborar en la obra fecunda.
No he desmayado en las tareas de mi obligación, y las redoblaré aún, llegando hasta el límite de la resistencia humana si eso es preciso para cumplir en la mejor forma, y quedar ante el honor que me han dispensado, y la gratitud a la que me han obligado.
Con el apoyo del enorme y apretado haz de voluntades que integran la Masa Obrera Argentina, confío seguir manteniendo en alto la bandera de otras reivindicaciones sociales a lograr para el trabajador urbano y rural.
Vivíamos un régimen social también de lucha. Los patrones, guiados por un egoísmo y una avaricia que no se justifica en nuestros días, crearon el problema de la lucha entre ellos y sus obreros. Afortunadamente en este bendito país existen patrones que hacen honor a su nombre de tales. Pero esa lucha entre los trabajadores y los patrones, es también un índice de destrucción incompatible con progreso económico y moral de la Nación. Es necesario repetirlo una y mil veces para que se grabe profundamente en la conciencia de todos los argentinos, que no deben haber luchas en el campo gramial. Porque el Estado, que hará de Juez Supremo y sin apelación en los conflictos del trabajo, dilucidará y juzgará y dicatará fallos de acuerdo a la justicia mas humana que legal.
Y entre estas, sin duda está la puesta en marcha del mejor hardware para el Pueblo, destinado éste a la sintonía de la TV digital en todos sus ámbitos, ya sea satelital como terrestre.
Nuestro Movimiento puede contar hoy con la potencia la tarjeta adaptadora TBS TBS6522 en Ubuntu.
Esta tarjeta sintonizadora de TV, permite facilitar enormemente la sintonía de canales de TV digital, ua que solo se necesita conectar otro cable de señal en lugar de sacar la tarjeta del equipo. Con sus dos sintonizadores integrados, la TBS6522 permite al Pueblo ver el canal de televisión de un transpondedor / satélite mientras graba otro canal desde otro transpondedor / satélite al mismo tiempo.
A su vez, gracias a programas libres, se pueden realizar retransmisiones de IPTV en redes locales o de área amplia.
Uno de los sintonizadores permite sintonizar para equipamiento de televisión digital satelital, en los formatos DVB-S2x/S2/S. El otro en tanto es capaz de operar como sintonizador de televisión digital terrestre, con el formato ISDB-T utilizado en la Argentina, el Japón y Brasil, pero también los estándares europeos DVB-T2/T/C2/C.
En Ubuntu sería ingresar las siguientes órdenes en tu terminal:
Primero instalo las dependencias:
sudo apt update
sudo apt install git vlc kaffeine patchutils libproc-processtable-perl dvblast build-essential checkinstall gcc dvb-apps linux-headers-$(uname -r)
Luego bajo y descargo todos los archivos de firmware para las tarjetas TBS:
mkdir /tmp/firmwares/
cd ~/tmp/firmwares/ ;
wget http://www.tbsdtv.com/download/document/linux/tbs-tuner-firmwares_v1.0.tar.bz2 ;
tar jxvf tbs-tuner-firmwares_v1.0.tar.bz2 ;
rm tbs-tuner-firmwares_v1.0.tar.bz2 ;
sudo cp /tmp/firmwares/*.fw /lib/firmware/
Conforme hayamos instalado el los firmwares de la TV digital, podremos descargar ahora el código fuente para el controlador libre de TBS y compilarlo en nuestro sistema. Esto lo haremos con:
mkdir ~/.tbsdriver/
cd ~/.tbsdriver/
git clone https://github.com/tbsdtv/media_build.git
git clone --depth=1 https://github.com/tbsdtv/linux_media.git -b latest ./media
cd media_build
make dir DIR=../media
make distclean
make -j4
sudo make install
Todo esto compila el controlador de la TBS. Si por algún motivo diese error, podríamos utilizar:
cd ~/.tbsdriver/
wget http://www.tbsdtv.com/download/document/linux/media_build-2020-09-23.tar.bz2
sudo rm -rf /lib/modules/uname -r
/kernel/drivers/media/
tar jxvf media_build-2020-09-23.tar.bz2
cd media_build
sudo ./install.sh
Finalmente y reiniciamos el equipo con:
sudo reboot
A la vuelta de Ubuntu, podríamos abrir una terminal e indicar el siguiente comando:
dmesg | grep frontend
...y deberían indicarse los dos sintonizadores que componen la plaqueta TBS6522, nomenclados como adapter0 y adapter1.
Nota: Si actualizamos el kernel (algo que tiene cierta regularidad en Ubuntu), deberíamos recompilar el controlador y volverlo a instalar en la nueva versión del kernel para que vuelva a funcionar. Ello lo haríamos con:
cd ~/.tbsdriver/media/
git remote update
git pull
cd ~/.tbsdriver/media_build
git remote update
git pull
make
sudo make install
Usar Kaffeine para sintonizar con la placa TBS6522 en Ubuntu
Pues bien, con Kaffeine podremos sintonizar la TV digital Satelital o Terrestre sin muchos problemas.
Para abrir Kaffeine vamos a Aplicaciones / Sonido y Video / Kaffeine.
Luego vamos al menú Televisión / Configurar Televisión y bajamos la listas de transpondedores satelitales haciendo clic en el botón "Actualización de Datos de exploración mediante internet"
A continuación podremos asignar satélite al sintonizador. Para ello escogemos la solapa Dispositivo1 (que sería el sintonizador satelital), y luego mediante el campo Origen seleccionamos el satélite que querramos (por ejemplo el AMC6 72W / ArSat1, Arsat2, HispaSat 30W, etc.
Luego seleccionamos el Television / Canales y en el cuadro que aparezca presionamos el botón Iniciar Exploración.
Kaffeine comenzará a explorar en busca de los Mux satelitales correspondientes.
Tras detectar los servicios satelitales, debemos seleccionar los que querramos (idealmente todos ellos) y presionar el botón Añadir Seleccionado, y luego presionar Aceptar. Ahora podremos escoger la función "Ver TV" de Kaffeine para ver los canales que anhelamos.
Para sintonizar los canales de la TV digital Terrestre, escogemos en sintonizador Dispositivo 2 (el sintonizador que representa la TV digital).
Al seleccionar los Canales, los escaneamos de la misma manera que a los satelitales, presionando el botón Iniciar la Exploración , y los agregamos a la lista.
Kaffeine nos permitirá contar con una EPG o guía de programación electrónica, con detalle de los programas y horarios dentro del Mux.
Escaneado de TV Digital desde la terminal en Ubuntu
Se puede usar el programa DVBBlast, para hacer la selección de banda y el escaneo satelital
Para escanear TV Digital Satelital en formato DVB-S/S2:
Para escanear con el adapter0 de la placa desde la terminal:
cd /dev/dvb/adapter0
sudo ln -s demux0 demux1
sudo ln -s dvr0 dvr1
Y ponemos a dvblast a escanear el rango de frecuencias de DVB-S/S2:
sudo dvblast –f 12538000 –s 41250000 –v 13 –a 0 –n 1 DVBS
sudo dvblast –f 12660000 –s 45000000 –v 13 –m psk_8 –a 0 –n 1 DVBS2
sudo dvblast –f 12630000 –s 43200000 –v 18 –m psk_8 –a 0 –n 1 DVBS2
Para escanear con el adapter1:
cd /dev/dvb/adapter1
ln -s demux0 demux1
ln -s dvr0 dvr1
Y ejecutamos dvblast
dvblast –f 12538000 –s 41250000 –v 13 –a 0 –n 1 DVBS
dvblast –f 12660000 –s 45000000 –v 13 –m psk_8 –a 1 –n 1 DVBS2
dvblast –f 12630000 –s 43200000 –v 18 –m psk_8 –a 1 –n 1
Para escanear el formato de TV digital terrestre europeo DVB-T/T2:
...con el sintonizador adapter0:
sudo dvblast –f 474000000 –b 8 –a 0
...con el sintonizador adapter1:
sudo dvblast –f 650000000 –b 8 –a 1
Para escanear en formato satelital DVB-C:
...con el sintonizador adapter0:
sudo dvblast –f 474000000 –s 6900000 –a 0 -5 DVBC_ANNEX_A
...con el sintonizador adapter1:
dvblast –f 474000000 –s 6900000 –a 1 -5 DVBC_ANNEX_A
Configurar Televisión digital Terrestre (TDA) ISDB-Tb con la placa TBS-6522 en Ubuntu
Si queremos ver la TV digital terrestre (TDA) en la norma local, debemos conectar una antena UHF exterior a alguno de los sintonizadores (preferiblemente, adapter0).
Una vez hecho esto, creamos una lista con las frecuencias de los canales de la TDA. Para ello ingresamos:
nano ~/.frec_canales_tda.conf
Se abrirá el editor de texto GNU Nano con un archivo vacío. Simplemente le pegamos el siguiente contenido:
Canales UHF del 14 to 69 en el sistema argentino de televisión digital terrestre SATVD-T, TDA
T 473142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 14
T 479142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 15
T 485142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 16
T 491142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 17
T 497142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 18
T 503142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 19
T 509142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 20
T 515142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 21
T 521142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 22
T 527142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 23
T 533142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 24
T 539142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 25
T 545142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 26
T 551142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 27
T 557142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 28
T 563142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 29
T 569142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 30
T 575142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 31
T 581142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 32
T 587142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 33
T 593142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 34
T 599142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 35
T 605142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 36
canal 37 no se usa
T 617142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 38
T 623142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 39
T 629142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 40
T 635142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 41
T 641142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 42
T 647142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 43
T 653142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 44
T 659142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 45
T 665142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 46
T 671142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 47
T 677142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 48
T 683142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 49
T 689142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 50
T 695142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 51
T 701142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 52
T 707142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 53
T 713142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 54
T 719142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 55
T 725142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 56
T 731142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 57
T 737142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 58
T 743142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 59
T 749142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 60
T 755142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 61
T 761142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 62
T 767142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 63
T 773142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 64
T 779142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 65
T 785142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 66
T 791142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 67
T 797142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 68
T 803142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 69
...y guardamos con Ctrl+o y salimos del editor con Ctrl+q.
Ahora escaneamos los canales ISDB-T de la TDA con:
scan .frec_canales_tda > .canalestdaencontrados.conf
La placa escaneará el espacio radioeléctrico y almacenará los canales encontrados en el archivo .canalesencontrados.conf correspondiente.
De ahora en adelante, para ver la TV digital terrestre con los canales encontrados podremos usar el VLC con:
vlc .canalestdaencontrados.conf
O bien podremos crear un lanzador para dicho comando, a fin de tener un ícono a mano y no tener que tipear esto, que naturalmente nos da cansancio.
Lo bueno de contar con una placa de dos sintonizadores es que podremos sintonizar dos señales a la vez. O ver un canal mientras grabamos otros. Esto es sencillo en VLC o Kaffeine indicando el adapter0 o adapter1. Para grabar en formato TS ("Transport Stream") simplemente oprimimos el botón Grabar ("Rec").
Será sencillo crear entonces incluso un servidor de TV digital te IPTV con tvheadend.
permalink
04 december 2022
¿Cómo simulo sintetizadores clásicos de Roland en Ubuntu?
Entrevistado en una nota de color de la revista Radiolandia, Juan Perón muestra sus instrumentos y enseña cómo instalar en Ubuntu versiones VST para emular los sintetizadores Roland Juno-60, Jupiter-8 y SH-101 que darían sonido peronista a los ochentas.
(...)
En aquellos escasos momentos que la Conducción del Movimiento me deja libre, me dedico a conducir otro Movimiento: el musical.
Es indudable que Ubuntu, con su enorme potencialidad sónico, se convierte en un instrumento primordial para cultivar este arte, practicarlo, pero también producir las más movedizas pistas. Y todo ello a poco costo.
Parecería fundamental para esto es la posibilidad de utilizar MIDI y controlar instrumentos de síntesis. Pero ni siquiera lo necesitamos. El avance de la técnica nos permite hoy contar con instrumentos virtuales, a los que podremos dar rienda suelta utilizando nuestro sistema munido de software libre.
Instalar plugins adicionales para este menester no es secreto: sobre esta práxis me he hecho perito, y me he extendido para beneficio de una Masa que todo lo merece aquí.
Estos plugins gratuitos son excelentes, y en particular aquellos patrocinados por la casa TAL. Normalmente recomiendo mucho las versiones LV2, ya que se integrarán a la perfección con nuestro sistema de arquitectura libre, y nos permite desplegar una plétora de sonidos novedosos para todo tipo de necesidades musico-productivas.
Pero en ocasiones otras son las necesidades. Podría en ciertos casos muy especiales, contar con otro formato más extendido. Uno de ellos sin duda es el VST, y su iteración más actual, la VST3. Estos normalmente están destinados a equipos con software privativo, pero Ubuntu es capaz de adaptarlos, y con poca penalidad de cómputo (salvo por lo que respecta al licenciamiento de tal software).
En este caso os mostraré unos que están disponibles en forma de demo limitado (incluye una rutina que dispara un ruido blanco cada minuto). A pesar de esta notable limitación, servirán para generar efectos y sampleos si los grabamos en el momento adecuado.
He hecho público ya que - junto con el sintetizador FM aditivo DX7 IIFD de Yamaha, otro de mis instrumentos favorito corresponden al dinosaurio hervíboro Roland Juno-60. Se trata de un sintetizador sustractivo monotímbrico capaz de usar - por vez primera - 56 memorias digitales programables ("patches") gracias a su CPU Zilog Z80. Con sus fundamentales osciladores de control digital (DCO), permitía el tono clásico del pop de inicio de los 80s sin desafinar.
Pero sin duda mi favorito es el mastodónico Roland Jupiter-8, inabarcable sintetizador polifónico miltitímbrico a 8 voces, cada una con 2 osciladores controlados por voltaje. En la cadena de audio también formaban parte un filtro pasabajos, un par de generadores de envolvente ADSR y una miríada de opciones de modulación, incluyendo cruzada. Se puede dividir el teclado con dos sonidos, sincronizar los osciladores, filtrado de 12bB o 24 dB por octava, portamento polifónico, etcétera.
Con su sonido pulido saco todos los de Perón-Perón y Durán-Durán, Deepeche Mode, Giorgio Moroder, Haroldo Faltermeyer, los del medio de Michael Jackson, unos pocos de Queen, los últimos de Marvin Gaye, etcétera.
Sin embargo estos cuestan una fortuna, y en su iteración original carecían de intercomunicación digital estandarizada MIDI.
El objetivo del Justicialismo es ofrecer Todo para Todos. Es por ello que en este caso os ofreceré sucedáneos para que - gracias al software libre - puedan contar con tan clásicos aparatos de generación musical.
La instalación del los plugins VST puede parecer compleja. Pero nos vendrá bien utilizar la terminal, pues facilitará la extensa tarea a pegar únicamente el siguiente bloque de Comandos de Organización:
creación de directorios ;
mkdir ~/.vst/ ~/.vst3/ ;
mkdir ~/.vst/tal/ ;
mkdir /tmp/plugins/ ;
mkdir /tmp/plugins/presets/ ;
TAL-U-NO-LX ;
mkdir /tmp/plugins/tal_uno/
cd /tmp/plugins/tal_uno/ ;
wget https://tal-software.com/downloads/plugins/TAL-U-NO-LX-V2_64_linux.zip ;
unzip TAL-U-NO-LX-V2_64_linux.zip ;
mv /tmp/plugins/tal_uno/libTAL-U-NO-LX-V2.so ~/.vst/tal/ ;
mv /tmp/plugins/tal_uno/TAL-U-NO-LX-V2.vst3/ ~/.vst3/ ;
Pack de presets para TAL-U-NO-LX
mkdir ~/.vst3/TAL-U-NO-LX-V2.vst3/Contents/Resources/
cd ~/.vst3/TAL-U-NO-LX-V2.vst3/Contents/Resources/
wget https://tal-software.com//downloads/presets/Fantomatica_Presets.zip ;
wget https://tal-software.com//downloads/presets/Symbiotic_Sounds_Presets_for_TAL-U-NO-LX-V2.zip ;
wget https://tal-software.com/downloads/presets/FMR%20Factory%20Presets%20Bank.zip ;
wget https://tal-software.com/downloads/presets/Krezie-Synthwave-for-TAL-U-NO-LX.zip ;
wget https://tal-software.com/downloads/presets/Tronsonic%20Presets%20Bank%20.zip ;
wget https://tal-software.com/downloads/presets/Orion-106.zip ;
wget https://tal-software.com/downloads/presets/TwolegsToneworks_-_TAL-U-No-LX_Bank.zip ;
unzip Fantomatica_Presets.zip ;
unzip Symbiotic_Sounds_Presets_forTAL-U-NO-LX-V2.zip ;
unzip FMR%20Factory%20Presets%20Bank.zip ;
unzip Krezie-Synthwave-for-TAL-U-NO-LX.zip ;
unzip Tronsonic%20Presets%20Bank%20.zip ;
unzip Orion-106.zip ;
unzip TwolegsToneworks-_TAL-U-No-LX_Bank.zip ;
rm ~/.vst3/TAL-U-NO-LX-V2.vst3/Contents/Resources/*.zip ;
TAL-J-8
mkdir /tmp/plugins/tal_j8/ ;
cd /tmp/plugins/tal_j8/ ;
wget https://tal-software.com/downloads/plugins/TAL-J-8_64_linux.zip ;
unzip TAL-J-8_64_linux.zip ;
mv /tmp/plugins/tal_j8/libTAL-J-8.so ~/.vst/tal/ ;
mv /tmp/plugins/tal_j8/TAL-J-8.vst3/ ~/.vst3/ ;
Pack de presets para TAL-J-8 ;
mkdir ~/.vst3/TAL-J-8.vst3/Contents/Resources/ ;
cd ~/.vst3/TAL-J-8.vst3/Contents/Resources/ ;
wget https://tal-software.com/downloads/presets/tal-j-8_factorypresets.zip ;
wget https://tal-software.com/downloads/presets/TAL%20J-8%20Presets%20by%20Heat%20Audio.zip ;
wget https://tal-software.com/downloads/presets/Funkybots_TAL_J-8_Presets.zip ;
wget https://tal-software.com/downloads/presets/Xenos_Soundworks_TAL-J-8.zip ;
wget https://www.dropbox.com/s/xpwy6b20x96rnmo/Realistortion%27s%20Preset%20Pack.rar ;
unrar x Realistortion\'s\ Preset\ Pack.rar ;
unzip Funkybots_TAL_J-8_Presets.zip ;
unzip 'TAL J-8 Presets by Heat Audio.zip' ;
unzip 'TAL-J-8 - Saif Sameer [72 presets].zip' ;
unzip tal-j-8_factorypresets.zip ;
unzip Xenos_Soundworks_TAL-J-8.zip ;
mkdir ~/.vst3/TAL-J-8.vst3/Contents/Resources/lee/ ;
mkdir ~/.vst3/TAL-J-8.vst3/Contents/Resources/arcade/ ;
cd ~/.vst3/TAL-J-8.vst3/Contents/Resources/arcade/ ;
wget https://tal-software.com/downloads/presets/Arcade%20Summer%20J-8%20Free.zip ;
unzip Arcade\ Summer\ J-8\ Free.zip ;
rm Arcade\ Summer\ J-8\ Free.zip ;
cd ~/.vst3/TAL-J-8.vst3/Contents/Resources/lee/
wget https://tal-software.com/downloads/presets/lee_TAL_J-8_Presets.zip ;
unzip lee_TAL_J-8_Presets.zip ;
rm lee_TAL_J-8_Presets.zip ;
cd ~/.vst3/TAL-J-8.vst3/Contents/Resources/ ;
rm .zip ;
rm .rar ;
rm -r __MACOSX/ ;
TAL U-NO-LX-V2 es un plugin VST polifónico de hasta 12 voces, capaz de oficiar de sintetizador analógico virtual en sintonía con el Roland Juno-60. Esta emulación lo que lo convierten en un buen reemplazo para este dispositivo analógico, con todas las ventajas de los plugins por software.
Como en el Juno original, tebemos una etapa de dos osciladores por voz, y etapa de filtrado de amplio espectro, con 24 dB de atenuación. Contamos con la envolvente ADSR (de la cual la función de Decay era realmente importante). También disfrutamos de los dos canales de coros activables, que sobredimensionaban la síntesis dándole su potencia tan característica.
Era típico utilizar el Juno-60 asociado a un arpeggiador MIDI externo. En este caso se incluye un arpeggiador integrado al VST, con modo HOLD (continuo), Reloj MIDI, y Note ON. Este arpeggiador replica al original, con algunas funcionalidades agregadas, como la de asignar de manera graduada la respuesta del arpeggiado al teclado.
Por sobre el instrumento, TAL-U-NO-LX soporta portamento, pedal de sustain, Modo Mono, y diferentes formas de onda para los LFO, y algunas otras características útiles. Dispone de una envolvente muy rápida con un roll-off buscadamente impreciso, y curvas de filtrado muy suaves, para lograr el típico sonido del Juno.
En cuanto a las posibilidades MIDI, el VST recibe datos en el Canal MIDI 1 en cualquier programa MIDI. Todos los deslizadores y potes son asignables a controles MIDI por medio de la función MIDI Learn. Para activar la función de MIDI Learn se debe mover con el mouse el pote o control que queremos asignar, luego presionar el botón MIDI Learn, y finalmente accionar el control MIDI. Una vez que hemos hecho esto, desactivamos la función MIDI Learn y ya debería quedar memorizado.
En cuanto a los presets, se incluye el banco "Factory Preset A" con unos 85 parches, pero si han utilizado el script de descarga del Justicialismo, podrán acceder a la Librería de Presets con unos 300 patches históricos, lo que nos otorga una paleta sonora inigualable.
El TAL J-8 en tanto, es un instrumento virtual basado en otro sintetizador de FM sustractivo por excelencia: el superclásico de inicios de los 80s, el Roland Jupiter-8.
Se usó uno de estos para modelar el filtrado y la resonancia. Gracias a su motor de audio simulado de FM, se genera el audio a directamente en tiempo real, sin necesidad de usar muestras digitales. Cuenta con todas las posibilidades infinitas de modulación que permite el instrumento real, con características útiles como la sección de calibración, ¡que puede hacer gritar a toda la sección de filtros!
El flujo de señal es completamente estéreo, con la consabida opción UNISON y control de la apertura de los osciladores controlados a voltaje. Naturalmente con el script que les he provisto, os acerco el justicialismo que permiten más de 300 preseteos, para encontrar todos los sonidos que anhelan.
En cuanto a sus presets, se ofrece con unos 30 parches históricos, pero al haber descargado con el script justicialista, encontrarán una librería de unos 73 parches.
Como ya expliqué, recomiendo las versiones libres LV2 de estos plugins TAL provenientes del Proyecto Disthro, la cual compendia la mayoría de estos plugins en versión definitiva y sin tener que pagar una chirola. Pero si por algún motivo en especial preferimos las versiones VST o VST3 del mismo en paquetes para Ubuntu, bien podríamos utilizar estas Demos.
Estas cuentan con el inconveniente de adquirir reuido blanco una vez por minuto. Sin embargo, cuando hay hambre el pan de mijo sirve. No será difícil con un poco de ingenio aplicar estos plugins a una grabación "en diferido" y grabar "de a un minuto de audio por vez" hasta completar la duración de lo que queremos hacer. Esto no es difícil de hacer en cualquier multipista, como qTractor o Ardour. Naturalmente que abonar lo solicitado por el fabricante nos evitará esta molestia.
En esta tanda se incluyen el TAL-BassLine-101, un instrumento virtual basado en sintetizador monofónico, claro émulo del Roland SH-101 (aquel instrumento vilipendiado por la academia redescubierto por los grasitas de la scene House. Produce el típico sonido crudo y acidón, al que podremos adornar con efectos.
El TAL Reverb 4 es completamente funcional, y representa las típicas reverbs ochentosas. Ningún lento puede sobrevivir sin estas.
TAL-Chorus-LX es una versión Standalone del coro del TAL U-No. No es algo del otro mundo, pero sirve para ensanchar cualquier sonido de sintetizador "pelado". Hay otros mejores, pero es completamente funcional y a caballo regalado no se le miran los dientes.
El TAL Vocorder-2 es una simulación de la máquina Vocorder de los ochentas, capaz de los tonos electro-guturales modulados con una señal de entrada. Naturalmente, no equivale al desfasado autotune actual, sino una versión crudiola-crudietti del mismo.
TAL-Filter-2 e un módulo de filtrado pasabandas, con posibilidades panorámicas y de control ve voolúmen. Incluye pasabajo de 24dB, 19dB, 12dB, 6dB, y pasaalto de 12dB, pasabanda de 12dB, y una puerta de ruido de hasta 12dB.
Este generalmente lo uso en la versión LV2 de Disthro, pero aquí está en versión VST.
TAL-Filter es un filtro más antiguo que está para no tirarlo. No es muy interesante comparado con otros, pero puede ser útil en netbooks por su bajo requerimiento computacional.
TAL-NoiseMaker es otro plugin que prefiero en su versión LV2, pero está disponible en modo demo en VST.
El TAL Mod es una apuesta por un sistema modular. Normalmente recomiendo VCV Rack para este menester. Pero bueno, aquí está.
TAL Dub X es un efecto para voces y sonido bastante interesante, con Delay y Eco para voces. Lamentablemente cuenta con la limitación de un minuto.
TAL DAC es un ensuciador de sonido, que permite simular los primeros y limitados conversores de Digitales-Analógicos de baja resolución los 80s y 90s. Si bien tiene la limitación de un minuto, lo bueno de este es que nos permitirá sacar muy parecido el hiss y el corte que tenían estos dispositivos electrónicos de 12 bits.
Para instalar todos estos plugins para nuestro usuario, podremos ingresar este inmenso y aliviador bloque de Comandos de Organización:
Descargar resto de plugins VST TAL:
mkdir /tmp/plugins/
cd /tmp/plugins/
wget https://tal-software.com/downloads/plugins/TAL-Reverb-4_64_linux.zip
wget https://tal-software.com/downloads/plugins/TAL-BassLine-101_64_linux.zip ;
wget https://tal-software.com/downloads/plugins/TAL-Mod_64_linux.zip ;
wget https://tal-software.com/downloads/plugins/Tal-Chorus-LX_64_linux.zip
wget https://tal-software.com/downloads/plugins/TAL-Vocoder-2_64_linux.zip
wget https://tal-software.com/downloads/plugins/TAL-Filter_64_linux.zip ;
wget https://tal-software.com/downloads/plugins/TAL-Filter-2_64_linux.zip
wget https://tal-software.com/downloads/plugins/TAL-DAC_64_linux.zip ;
wget https://tal-software.com/downloads/plugins/TAL-NoiseMaker_64_linux.zip ;
wget https://tal-software.com/downloads/plugins/TAL-Dub-X_64_linux.zip ;
wget https://tal-software.com/downloads/plugins/TAL-Sampler_64_linux.zip ;
preset para TAL Bassline 101
unzip TAL-BassLine-101_64_linux.zip ;
mv libTAL-BassLine-101.so ~/.vst/tal/ ;
mv TAL-BassLine-101.vst3/ ~/.vst3/ ;
rm -r MACOSX/ ;
rm Readme.txt
mkdir ~/.vst3/TAL-BassLine-101.vst3/Contents/Resources/ ;
cd ~/.vst3/TAL-BassLine-101.vst3/Contents/Resources/ ;
wget https://tal-software.com//downloads/presets/TAL%20BassLine%20101%20vst3.zip ;
unzip TAL\ BassLine\ 101\ vst3.zip ;
rm -r MACOSX/ ;
rm ~/.vst3/TAL-BassLine-101.vst3/Contents/Resources/*.zip ;
TAL-Chorus-LX
cd /tmp/plugins/ ;
unzip Tal-Chorus-LX_64_linux.zip ;
mv libTAL-Chorus-LX.so ~/.vst/tal/ ;
chmod +x ~/.vst/tal/libTAL-Chorus-LX.so ;
mv TAL-Chorus-LX.vst3/ ~/.vst3/ ;
rm Readme.txt ;
rm -r __MACOSX/ ;
TAL-Filter y presets
cd /tmp/plugins/ ;
unzip TAL-Filter_64_linux.zip ;
mv /tmp/plugins/libTAL-Filter.so ~/.vst/tal/ ;
rm -r MACOSX/ ;
rm Readme.txt ;
chmod +x ~/.vst/tal/libTAL-Filter.so ;
mv TAL-Filter.vst3/ ~/.vst3/ ;
mkdir ~/.vst3/TAL-Filter.vst3/Contents/Resources/ ;
cd ~/.vst3/TAL-Filter.vst3/Contents/Resources/ ;
wget https://tal-software.com//downloads/presets/TAL-Filter%20vst3.zip ;
unzip TAL-Filter\ vst3.zip ;
rm TAL-Filter\ vst3.zip ;
rm -r MACOSX/ ;
TAL-Filter-2 y presets
cd /tmp/plugins/ ;
unzip TAL-Filter-2_64_linux.zip ;
mv /tmp/plugins/libTAL-Filter-2.so ~/.vst/tal/ ;
rm -r MACOSX/ ;
rm Readme.txt ;
chmod +x ~/.vst/tal/libTAL-Filter.so ;
mv TAL-Filter-2.vst3/ ~/.vst3/ ;
mkdir ~/.vst3/TAL-Filter-2.vst3/Contents/Resources/ ;
cd ~/.vst3/TAL-Filter-2.vst3/Contents/Resources/ ;
wget https://tal-software.com//downloads/presets/TAL-Filter-2%20vst3.zip ;
unzip TAL-Filter-2\ vst3.zip ;
rm *.zip ;
rm -r MACOSX/ ;
TAL Reverb-4 y presets
cd /tmp/plugins/ ;
unzip TAL-Reverb-4_64_linux.zip ;
mv /tmp/plugins/libTAL-Reverb-4.so ~/.vst/tal/ ;
mv TAL-Reverb-4.vst3/ ~/.vst3/ ;
rm Readme.txt ;
rm -r MACOSX/ ;
mkdir ~/.vst3/TAL-Reverb-4.vst3/Contents/Resources/ ;
cd ~/.vst3/TAL-Reverb-4.vst3/Contents/Resources/ ;
wget https://tal-software.com//downloads/presets/TAL-Reverb-4%20vst3.zip
unzip TAL-Reverb-4\ vst3.zip ;
rm *.zip ;
rm -r MACOSX/ ;
TAL Mod
cd /tmp/plugins/ ;
unzip TAL-Mod_64_linux.zip ;
mv /tmp/plugins/libTAL-Mod.so ~/.vst/tal/ ;
mv TAL-Mod.vst3/ ~/.vst3/ ;
rm Readme.txt ;
rm -r MACOSX/ ;
mkdir ~/.vst3/TAL-Mod.vst3/Contents/Resources/ ;
cd ~/.vst3/TAL-Mod.vst3/Contents/Resources/ ;
wget https://tal-software.com//downloads/presets/TAL%20Mod%20vst3.zip ;
unzip TAL\ Mod\ vst3.zip ;
rm *.zip ;
rm -r MACOSX/ ;
TAL Vocorder-2
cd /tmp/plugins/ ;
unzip TAL-Vocoder-2_64_linux.zip ;
mv /tmp/plugins/libTAL-Vocoder-2.so ~/.vst/tal/ ;
chmod +x ~/.vst/tal/libTAL-Vocoder-2.so ;
mv TAL-Vocoder-2.vst3/ ~/.vst3/ ;
rm Readme.txt ;
rm -r MACOSX/ ;
mkdir ~/.vst3/TAL-Vocoder-2.vst3/Contents/Resources/ ;
cd ~/.vst3/TAL-Vocoder-2.vst3/Contents/Resources/ ;
wget https://tal-software.com//downloads/presets/TAL-Vocoder-2%20vst3.zip ;
unzip TAL-Vocoder-2\ vst3.zip vst3.zip ;
rm *.zip ;
rm -r MACOSX/ ;
TAL-DAC
cd /tmp/plugins/ ;
unzip TAL-DAC_64_linux.zip ;
mv /tmp/plugins/libTAL-DAC.so ~/.vst/tal/ ;
mv TAL-DAC.vst3/ ~/.vst3/ ;
rm Readme.txt ;
rm -r __MACOSX/ ;
mkdir ~/.vst3/TAL-DAC.vst3/Contents/Resources/ ;
cd ~/.vst3/TAL-DAC.vst3/Contents/Resources/ ;
wget https://tal-software.com//downloads/presets/TAL%20DAC%20plugin%20vst3.zip ;
unzip TAL\ DAC\ plugin\ vst3.zip ;
rm *.zip ;
NoiseMaker
cd /tmp/plugins/ ;
unzip TAL-NoiseMaker_64_linux.zip ;
mv /tmp/plugins/libTAL-NoiseMaker.so ~/.vst/tal/ ;
mv TAL-NoiseMaker.vst3/ ~/.vst3/ ;
rm Readme.txt ;
rm -r MACOSX/ ;
mkdir ~/.vst3/TAL-NoiseMaker.vst3/Contents/Resources/ ;
cd ~/.vst3/TAL-NoiseMaker.vst3/Contents/Resources/ ;
wget https://tal-software.com//downloads/presets/TAL-NoiseMaker%20vst3.zip ;
unzip TAL-NoiseMaker\ vst3.zip ;
rm *.zip ;
rm -r MACOSX/ ;
TAL-Dub-X
cd /tmp/plugins/ ;
unzip TAL-Dub-X_64_linux.zip ;
mv /tmp/plugins/libTAL-Dub-X.so ~/.vst/tal/ ;
mv TAL-Dub-X.vst3/ ~/.vst3/ ;
rm Readme.txt ;
rm -r __MACOSX/ ;
mkdir ~/.vst3/TAL-Dub-X.vst3/Contents/Resources/ ;
cd ~/.vst3/TAL-Dub-X.vst3/Contents/Resources/ ;
wget https://tal-software.com//downloads/presets/TAL%20Dub%20X%20vst3.zip ;
unzip TAL\ Dub\ X\ vst3.zip
rm *.zip ;
TAL-Sampler
Incluye la librería de 1,1GB
cd /tmp/plugins/ ;
unzip TAL-Sampler_64_linux.zip ;
mv /tmp/plugins/libTAL-Sampler.so ~/.vst/tal/ ;
mv TAL-Sampler.vst3/ ~/.vst3/ ;
rm Readme.txt ;
rm -r MACOSX/ ;
mkdir ~/.vst3/TAL-Sampler.vst3/Contents/Resources/ ;
cd ~/.vst3/TAL-Sampler.vst3/Contents/Resources/ ;
wget https://tal-software.com/downloads/presets/TAL-Sampler-FactoryPresets.zip ;
unzip TAL-Sampler-FactoryPresets.zip ;
wget https://tal-software.com/downloads/presets/Hollowsun.zip ;
unzip Hollowsun.zip ;
rm *.zip ;
rm -r MACOSX/ ;
Descarga de manuales ;
mkdir /tmp/plugins/manuales/ ;
cd /tmp/plugins/manuales/ ;
wget https://tal-software.com//downloads/docs/TAL-U-NO-LX-UserManual.pdf ;
wget https://tal-software.com//downloads/docs/TAL-J-8-UserManual.pdf ;
wget https://tal-software.com//downloads/docs/tal-sampler-UserManual.pdf ;
wget https://tal-software.com//downloads/docs/TAL%20Noisemaker%20User%20Guide%201.0.pdf ;
wget https://tal-software.com//downloads/docs/tal-dub-x-UserManual.pdf ;
wget https://tal-software.com//downloads/docs/tal-dac-UserManual.pdf ;
wget https://tal-software.com/downloads/docs/TAL-Vocoder-UserManual.pdf ;
wget https://tal-software.com//downloads/docs/TAL-Mod-UserManual.pdf ;
wget https://tal-software.com/downloads/docs/tal-bassline-101-UserManual.pdf ;
wget https://tal-software.com/downloads/presets/Hollowsun%20Library%20for%20TAL%20Sampler.pdf
En cualquier caso, he decidido abonar ambos en vista de los excelentes resultados obtenidos y del despilfarro que me permite el grano almacenado en los silos subterráneos del IAPI, junto con el laborioso empeño puesto por la gente de TAL. La versión completa de U-no y de J-8 me han costado unos 11.135 pesos (aprovechando un descuento de 1960 pesos por comprar varios por compra en conjunto). Como dijo Miranda, lo compramos con papelitos.
permalink
03 december 2022
¿Cómo evito que Skype se use para ver archivos multimedia en Ubuntu?
Mis queridos descamisados:
Como ya os he explicado, utilizo GNU Jami para tareas de transferencias de ficheros, videollamadas, llamadas de audio, y llamadas telefónicas gratuitas VoIP. Es un excelente reemplazo al Skype de Micro$oft.
Sin embargo, a veces hay que usar la ventana, para salir al balcón.
Skype es un programa de comunicaciones suele estar bastante extendido, pero es, como remedio, peor que la enfermedad. Aún así, si descontamos su plataforma privativa, Skype funciona adecuadamente para su tareas de comunicación.
Sin embargo, no todo lo que reluce es oro. Bajo Ubuntu y Ubuntu Mate, Skype for Linux puede presentar un efecto molesto. En ocasiones la instalación de tal cliente de comunicaciones hace que en Ubuntu se nos presente la opción de "Abrir con Skype", pero lo hace a todo tipo de documentos multimedia. Entre estos se incluyen las imágenes .jpg, documentos .pdf y .doc, y archivos de audio .mp3. Esto hace que en lugar de abrirse con los visores normales (el visor de imágenes de Ubuntu o algún reproductor de audio o visor de PDF), se abren con el mismo cliente de Skype. Si bien parecería que esto está ingeniado para facilitar el envío de tales ficheros a través de dicha plataforma, lo cierto y tangible es que - en Ubuntu MATE al menos - esto resulta sumamente incordioso e invasivo. Como si de darle exclusividad a Skype se tratara...
Tal afrenta se puede solucionar desinstalando Skype, reiniciando el equipo, y volviendo a instalar Skype.
Lo más sencillo es abrir la terminal mediante Ctrl+Alt+T o bien desde Aplicaciones / Herramientas del Sistema / Terminal de MATE.
Acto seguido, desinstalamos el Skype escribiendo en la terminal el siguiente comando:
sudo apt remove skypeforlinux
Cuando presionemos la tecla Enter, Ubuntu nos solicitará la contraseña del usuario administrador. La ingresaremos "a ciegas" (no se verá nada cuando tipeemos), y presionamos la Tecla Enter.
El Ubuntu realizará comprobaciones que aparecerán en la pantalla y y nos preguntará queremos continuar con la desinstalación. Presionamos la tecla s para responder que sí.
Tras unos segundos se habrá eliminado Skype de nuestro sistema, y con él la molesta e inútil opción de abrir todos los documentos obligatoriamente con Skype.
Ya podremos reiniciar el equipo tipeando en la terminal el comando:
sudo reboot
(Naturalmente también podríamos reiniciarlo desde Sistema / Apagar y elegir la opción Reiniciar).
Una vez reiniciada la computadora, volvemos a abrir la terminal con Ctrl+Alt+t y reinstalamos Skype. Para ello el comando será ahora:
sudo apt install skypeforlinux
Ingresamos la contraseña, y Ubuntu debería descargar e reinstalar el paquete de Skype, pero ahora no usará la opción de "abrir con Skype". Para ejecutar Skype podremos ir a Aplicaciones / Internet / Skype.
Una vez que ingresemos a nuestro usuario de Skype, conviene configurar el funcionamiento del cliente. Normalmente conviene desactivar el inicio automético del mismo. Para ello en la ventana de Skype vamos a Herramientas / Configuración... y desactivamos Iniciar Skype Automáticamente e Iniciar Skype en Segundo Plano.
Demás está decir que si necesitamos enviar archivos usando Skype en Ubuntu, simplemente buscamos uno de nuestros contactos que será el destinatario del archivo y usamos el botón "Agregar Archivos" que se encuentra en la parte inferior de la ventana de conversación de Skype.
Si por algún motivo tuviésemos o quisiéramos que instalar Skype para Ubuntu de cero, podríamos ingresar en nuestra terminal los siguientes comandos (asegurándonos de contar con una conexión a internet, obviamente):
cd ~/Descargas/
wget https://go.skype.com/skypeforlinux-64.deb
sudo apt purge skypeforlinux
sudo dpkg -i skypeforlinux-64.deb
El sistema nos solicitará nuestra contraseña de administrador, y tras tipearla "a ciegas" (ya que nuevamente, no aparecerá escrita en la pantalla) y presionar Enter, se procederá a instalar Skype en Ubuntu. Luego podremos ejecutarlo desde Aplicaciones / Internet / Skype.
permalink
02 december 2022
¿Cómo compilo y uso ORCA para componer música en Ubuntu?
¡Trabajadores!
Un Programador es un artesano capaz de entender un problema, plantear una solución a través del código, y resolver la dirección de trabajo de una máquina. Es un obrero, y en cierto sentido, un Dirigente Computacional. Cualquier cristiano que se empape en una técnica y una teoría puede hacer esto.
Pero un Verdadero Programador ve el código, lo aprecia, y lo entiende. Compila y ejecuta in mente. Este estado de omnicomprensión no está dado por la mancomunión con la máquina, sino por una percepción superior y de conjunto emanada del Pueblo. En esto no basta ya el estudio y la práctica. Esas son las partes inertes del arte. La parte vital es el Artista. En otras palabras Él mismo, que es un Conductor. Obra allí el Oleo Sagrado de Samuel, y ese no se vende en cualquier feria.
Es a estay concreción a la que hemos de aspirar. Es posible y no es disonante decir que todo Peronista lleva en su mochila el bastón de Mariscal.
Esto lo ofrece la Organización.
Vean señores: el hombre, aislado y sometido a lo que sólo la naturaleza le provee, podrá atinar - con suerte - a conseguirse el pan con cachos de hardware viejo. El adagio enseña que si Dios bajara a la tierra a resolver el problema planteado entre los hombres, ya le habríamos perdido el respeto. Y no faltaría un tonto que quisiera reemplazarlo a Dios. Porque el hombre es así.
Pero las Organizaciones se presentan como una evolución de este estado brutal. Están para otra cosa. Lo nuestro es la liberación de nuestro código y la Fellcidad del Pueblo. Enemigos no nos faltan: a nuestro frente, una Oligarquía coaligada con espuria sinarquías lo sume a la más abyecta de las condiciones: la de usar software privativo para hacer su cómputo. Ante esta ignominia no podemos más que hacer todos los días, todo lo que se pueda en pos de la Felicidad.
Yo, como político, soy un mero aficionado. Mi profesión es la de Conductor. Para ello me he formado y he estudiado toda mi vida. De casualidad nomás llevo en mis oídos la más Maravillosa Música, que es la Palabra del Pueblo Argentino.
Pues bien, en el campo de la música no dudarán que nos exponemos a lo mismo. Es indudable que el hombre, gracias a la tecnificación y al transistor, puede hoy utilizar Estaciones de Trabajo para Audio digital, y componer allí. No podemos negar que en esto se ha avanzado en los últimos cien años más que en los veinte siglos precedentes.
¿De qué serviría, si no es para clamar por la liberación?
Pero tampoco podemos negar que un verdadero músico ha de obrar por los mismos preceptos que un Verdadero Conductor. Ha de componer en hexadecimanl utilizando código que pueda percibir directamente, de manera de compilar y ejecutar in mente. Las DAW son para neófitos y está bien que existan para la Masa Popular, que es el verdadero condumo... Pero los Verdaderos Programadores hacen música escribiéndola en ORCA.
ORCA es un lenguaje de programación dispuesto en una grilla bidimensional, tan esotérico como Lopecito. Está destinado a crear muy rápidamente secuencais procedurales, donde cada letra del alfabeto representa una operación de control musical. Las letras minúsculas operan el disparo de acciones, en tanto que las mayúsculas operan cada cuadro secuencial individual.
Indudablemente que esta aplicación no es un sintetizador, sino un ambiente de programación en vivo capaz de enviar datos según el estándar MIDI, OSC y UDP a sus interfaces de audio y visuales. Como tal, es un excelente control de conducción estratégica que eleva la complejidad de aquellas estaciones de audio excepcionalmente sencillas para el comando táctico, tales como Ableto, Renoise, VCV Rack o SuperCollider.
Es sabido que en los sistemas GNU con Linux la Terminal puede utilizarse en todos los niveles del cómputo. En este caso, podremos utilizar una implementación escrita en C del lenguaje ORCA, y disponer de una interfaz de usuario basada en texto como elemento de superficie. Como es natural, está diseñada para ser potente y de bajísimo consumo, siendo capaz de operar secuencias grandes, incluso un sintetizador modular utilizando una terminal tipo DEC VT.
Pero de poco serviría si sólo el más selecto de los hombres puede conducirlo. En nuestro Movimiento impera la necesidad de un Trasvasamiento Generacional que lleve a las nuevas generaciones a la habilidad de hacer lo mismo y más que las generaciones anteriores. Esto es lo humanamente posible, biológicamente deseable, y humanamente inprescindible. Por tanto os enseñaré a grosso modo cómo hacer uso básico del entorno.
Para instalarlo abrimos una terminal con Ctrl+Alt+T y cargamos las dependencias:
sudo apt-get install git libncurses5-dev libncursesw5-dev libportmidi-dev
El sistema nos solicitara que ingresemos "a ciegas" nuestra contraseña. Luego instalará los paquetes necesarios de dependencia. Una vez finalizada esta acción, descargamos el código fuente, los ejemplos, y compilamos ORCA.
git clone https://github.com/hundredrabbits/Orca-c.git ;
cd Orca-c ;
git clone https://git.sr.ht/~rabbits/orca-examples/ ;
./tool build -d --portmidi orca ;
...Y lo ejecutamos con:
./Orca-c/build/debug/orca
Para asignar un dispositivo de salida MIDI que reciba las órdenes disparadas con ORCA, presionamos Ctrl+D en la terminal (o bien F1) para desplegar el menú gráfico principal, y luego elegimos la salida MIDI... Puede usarse cualquier sintetizador virtual que se les ocurra utilizar en su entorno GNU con Linux, ya que aparecerán en el menú.
- ORCA ---------------++ PortMidi Device Selection -----+
| New || > (*) #0 - Midi Through Port-0 |
| Open... || ( ) #2 - Midi out Clavinova |
| Save || ( ) #3 - Midi out VCV Rack |
| Save As... |+--------------------------------+
| |
| Set BPM... |
| Set Grid Size... |
| Auto-fit Grid |
| |
| OSC Output... |
| > MIDI Output... |
| |
| Clock & Timing... |
|.....................|
Operadores
Para ver la lista de operadores adentro de Orca, se usa Ctrl+D,Ctrk+G.
A adición(a b): Da salida a la suma entre los valores de entrada.
B subtracción(a b): Da salida la diferencia entre los valores de entrada.
C clock(rate mod): Da salida en modulo de cuadro.
D delay(rate mod): dispara on modulo de cuadro.
E east: Mueve al Este, o dispara.
F if(a b): Dispara si las entradas son iguales.
G generator(x y len): escribe operandos con offset.
H halt: Detiene el operando más al sur.
I increment(mod de paso): Incrementa el operando mas al sur.
J jumper(val): Da salida el operando al norte.
K konkat(len): Lee múltiples variables.
L less(a b): Da salida a la más chica de las entradas.
M multiply(a b): Presenta el producto de las entradas.
N north: Mueve al norte, o dispara.
O read(x y read): Lee operando con offset.
P push(len key val): Escribe el operando hacia el este.
Q query(x y len): Lee operandos con offset.
R random(min max): Da salida a un valor aleatorio.
S south: Mueve hacia el sur, o dispara.
T track(key len val): Lee el operando hacia el este.
U uclid(paso max): Dispara en un ritmo Euclídeo.
V variable(write read): Lee y escribe variables.
W west: Mueve al oeste, o dispara.
X write(x y val): Escribe operando con un offset.
Y jymper(val): Da salida al operando hacia el oeste.
Z lerp(rate target): Transiciona el operando a la entrada.
- bang: Dispara los operandos vecinos.
# comentario: Detiene una línea:
Entrada/Salida
: midi(canal octava nota velocidad duración): Envía una nota MIDI.
% mono(canal octava nota velocidad duración): Envia una nota MIDI monofónica.
! cc(canal control valor): Envía un cambio de control MIDI.
? pb(canal valor): Envía un pitch Bend.
; udp: Envia un mensaje UDP
= osc(ruta): Envía un mensaje OSC.
$ self: Envía un comando de ORCA.
MIDI
El protocolo MIDI especifica órdenes de software y material de hardware para controlar digitalmente instrumentos musicales electrónicos, a través de una interfaz normalizada. En el caso de ORCA, podremos usar este establecido protocolo mediante órdenes específicas.
Los operadores MIDI en ORCA son órdenes escritas, compuestas ellas por cinco valores de entrada en su nemónico: 'canal, 'octava, 'nota, velocity, duración.
Por ejemplo, si mandamos el operador :25C, se compilará la nota Do ("C"), en la quinta octava, a través del 3er canal MIDI. En tanto, :04c será una nota Do Sostenido ("C#"), en la cuarta octava, a través del canal MIDI número 1. Recuerden que las minúsculas operan las notas negras.
Velocity es un valor opcional de intensidad que va de 0(0/127) a g (127/127). La variable Duración es la duración referida en números de cuadros, en los cuales esta nota permanecerá pulsada.
Por ejemplo, podríamos elaborar un programa midi.orca, con el siguiente código fuente:
..........................................
.#.MIDI.#.................................
..........................................
...wC4....................................
.gD204TCAFE..################.............
...:02C.g....#..............#.............
.............#..Canal....1..#.............
...8C4.......#..Octava.234..#.............
.4D234TCAFE..#..Notas.CAFE..#.............
...:13E.4....#..............#.............
.............################.............
...4C4....................................
.1D424TCAFE...............................
...%24F.2.................................
..........................................
..........................................
..........................................
..........................................
MIDI MONO
El operador MONO % consta de 5 entradas en su nemónico ('canal, 'octava, 'nota, velocity, duración).
Este tipo de operador es bastante similar al operador MIDI que usamos por defecto, con la salvedad que cada nota nueva que introduzcamos detendrá la ejecución de la nota anterior, impidiendo por tanto que su duración se solape con la siguiente. Como esto resulta en que sólo se puedan ejecutar secuencias monofónicas, viene bien para controlar sintetizadores modulares monofónicos que no pueden hacer acordes ni portamento (como el Moog Mini Brute Revisited, o cualquiera monofónico que tenga MIDI, se entiende).
MIDI CC
Este operador se usa para alterar algún control MIDI adicional (CC).
El operador MIDI CC ! lleva 3 entradas en su nemónico ('canal, 'control, 'valor). Envía un valor entre 0-127, donde este valor se calcula como un radio de 36, sobre un máximo de 127. Por ejemplo, !008 envía 28 o (8/36)x127, en el primer Canal MIDI, al control mapeado como id0. Para asignar un mapeado a un control MIDI, se puede oprimir la Tecla Intro, con el operador ! seleccionado.
Por defecto, el operador MIDI CC envía al MIDI CC64 y superiores. De esta forma el offset puede cambiarse con el comando cc:0 para poner un offset de 0. Naturalmente, se entiende que viene bien saber de memoria los valores de los CC MIDI para todo esto. Un verdadero músico los sabe, yo no se los tengo que explicar.
RUEDA DE PITCH MIDI
Este operador manda una instrucción de alteración tonal progresiva.
El operador MIDI PB ? requiere 3 entradas ('canal, 'lsb, 'msb).
Envía dos valores diferentes entre 0 y 127, donde el valor se calcula como un radio de 36, sobre un máximo de 127. Por ejemplo, el operador ?008, enviará un MSB (bit más significativo) de 28, específicamente (8/36)*127, y un LSB (bit menos significativo) de 0 y lo hará al Canal MIDI 1.
SELECCIÓN DE BANCO / CAMBIO DE PROGRAMA
Mas que un operador, este es un comando (ver abajo), y combina las funciones de Cambio de programa MIDI con las de Selección de Banco MIDI (las cuales se utilizan para escoger instrumentos en la memoria de masa del sintetizador).
La sintaxis es pg:canal;msb;lsb;programa. Canal especifica de 0 a 15 para elegir el canal MIDI, en tanto que msb/lsb/programa permiten indicar entre 0 y 127, pero el programa será traducido de 1 a 128 por el controlador MIDI. Programa equivale a lo que en la nomenclatura moderna es "patch" o "parche", y denota la selección del instrumento en un sintetizador. Tengan presente que msb también puede identificarse como "Bank" y lsb como "Group" o "Sub" en algunos sintetizadores como los Yamaha SY, los AKAI, los Clavinova, o bien o DAWs como qTractor o Ableton Live.
Los msb y lsb pueden dejarse en blanco si solamente queremos mandar un cambio de programa común y corriente. Por ejemplo, pg:0;;;32 cambiará al Patch 33 (el bajo eléctrico pulsado según la convención General MIDI), sin cambiar el banco.
UDP
El control por UDP permite controlar instrumentos o módulos musicales usando tipología de red tipo ethernet.
El operador UDP ; bloquea todos los puertos hacia el este (consecutivos). Por ejemplo, ;hola mandará la cadena "hola" a disparar, a través del puerto 49160 en el localhost. En el Commander, se debe usar "udp:7777" si quieren seleccionar el puerto por defecto 7777 de UDP, e "ip:127.0.0.12" para cambiar la dirección IP que oficiará de objetivo. UDP no está disponible en la versión para navegador de Orca, naturalmente.
Puede utilizar el fichero listener.js para probar los mensajes UDP. Puede verlos en acción en el ejemplo udp.orca.
OSC
El Open Sound Control es un estándar abierto para poner en red instrumentos musicales, considerado una evolución sobre el tradicional MIDI en un entorno libre como ha de ser la creación musical.
ORCA opera con ellos gracias a una serie de operadores distintos a los MIDI.
El operador OSC = traba cada puerto consecutivo hacia el este. El caracter final se usará como ruta, y los caracteres siguientes serán evniados como integrales por medio de la Tabla Base36. En el Commander, se usa "osc:7777" para seleccionar el puerto OSC personalizado 7777, e "ip:127.0.0.12" para cambiar la IP de destino. OSC no está disponible en la versión de Orca para Navegador tampoco.
Por ejemplo, =1abc enviará 10, 11 yd 12 a /1, a través del puerto 49162 en el localhost; =a123 enviará 1, 2 y 3, a la ruta /a. Se puede usar el programa listener.js para evaluar los mensajes OSC. Oidrña verlo en acción en el programa osc.orca o probarlo con SonicPi.
Controles Avanzados
Algunas de las características de Orca se pueden controlar externamente
vía el puerto UDP 49169 o a través de su propia interfaz de línea de
comandos. Para activar el prompt de comandos Commander debemos usar Ctrl+K.
Modo Proyecto
Se pueden insertar rápidamente ficheros .orca agregándolos así al archivo actual, usando el prompt de la línea de comandos. Esto le permitirá navegar a lo largo de múltiples ficheros como lo haría en un proyecto. Se usa Ctrl+L para cargar múltiples archivos .orca, y luego se usa Ctrl+B para tipear el nombre de un fichero .orca cargado para insertarlo allí.
Puertos por defecto
Entrada UDP Entrada OSC Salida UDP Salida OSC
49160 Ninguno 49161 49162
Comandos
Todos los comandos tienen un equivalente de abreviación equivalente a sus primeros dos caracteres en inglés. Por ejemplo, podrá escribir usando "wr". La lista completa de los comandos es la siguiente:
play Reproduce un programa.
stop Detiene un programa.
run Corre el cuadro actual.
bpm:140 Configura la velocidad a 140 compases por minuto.
apm:160 Animate la velocidad a 160 compases por minuto.
frame:0 Configura el valor de cuadro a 0.
skip:2 Suma 2, al valor de cuadro actual.
rewind:2 Resta 2, al valor de cuadro actual.
color:f00;0f0;00f Colorea la interfaz.
find:aV Envía el cursor a la cadena aV.
select:3;4;5;6 Mueve cursor a posición 3,4 y selecciona tamaño 5:6(opcional).
inject:peron;12;34 Inserta el fichero local peron.orca, en 12,34(opcional).
write:H;12;34 Escribe el glifo H, en 12,34(opcional).
time Presenta el tiempo, en minutos y segundos, desde 0f.
midi:1;2 Configura el dispositivo de salida MIDI al #1, y el dispositivo de entrada al #2.
udp:1234;5678 Configura el puerto de salida UDP a 1234, y el puerto de entrada a 5678.
osc:1234 Configura el puerto de salida de OSC a 1234.
Anexo A: TABLA DE INCREMENTOS Base36
Orca se opera en base a 36 incrementos. Los operadores que emplean valores numéricos generalmente también operan sobre letras y las convierten a valores según la siguiente tabla. Por ejemplo, el Do se dispará en cada cuadro 24 de la secuencia.
0 1 2 3 4 5 6 7 8 9 A B
0 1 2 3 4 5 6 7 8 9 10 11
C D E F G H I J K L M N
12 13 14 15 16 17 18 19 20 21 22 23
O P Q R S T U V W X Y Z
24 25 26 27 28 29 30 31 32 33 34 35
Anexo B: TABLA DE TRANSPOSICION
El operador MIDI interpreta cualquier letra sobre la escala cromática como un valor de transposición. Por ejemplo, 3H equivale a la nota Do (A4 en la notación ingles, y nomenclado 4A en ORCA).
0 1 2 3 4 5 6 7 8 9 A B
A0 B0
C D E F G H I J K L M N
C0 D0 E0 F0 G0 A0 B0 C1 D1 E1 F1 G1
O P Q R S T U V W X Y Z
A1 B1 C2 D2 E2 F2 G2 A2 B2 C3 D3 E3
Referencia / Turorial Básico
Como se vio, ORCA opera en base a 36 incrementos secuenciales, y los operadores convierten valores alfanuméricos a valores que van de 0 a 36. Para manerjas las interacciones entre plataforma y cliente se usan caracteres especiales
Con esta sección enseñaré lo básico para tocar una nota y una secuencia de notas.
Enviar una Nota MIDI
D8, enviará un Disparo, cada 8 cuadros.
:03C, enviará un Do ("C") en la tercer octava. Para mandar un Do Sostenido ("C#", se usa la minúscula c3.
D8....:03C
Tocar una nota aleatoria
aRG, dará salida a un valor aleatorio entre A & G, la mayúscula de la derecha indica la salida en mayúscula.
D8.aRG.
.:03D..
Hacer una melodía
04TCAFE, creará una pista de 4 notas, y le dará salida a su primer valor.
D814TCAFE
.:03A....
Tocar la melodía
8C4, contará de 0 a 3, a 1/8 de la velocidad.
.8C4.....
D804TCAFE
.:03C....
Lógica
Esta sección le enseñará lo básico de la lógica automática de decisión y el cambio dinámico de los valores de los operadores.
Tocar cada segunda nota
2I6, incrementará a 6 a una velocidad de 2.
.2I6.......
D626TCAFEDG
.:03F......
Tocar una nota con un offset
1AC, agregará 1 a Do (C), para darle salida a un Re (D). Para lograr un Re Sostenido (D#), se usa d minúscula, como en 1Ac.
D8.1AC.
.:03D..
Tocar una secuencia de atrás y adelante
La combinación de la salida de C6 a B3 revolará a un valor entre 0 y 3 durante 6 cuadros.
4C6......
.4B3.....
D414TCAFE
.:03A....
Tocar una nota en un intervalo específico
.I4, incrementará a 4, a una velocidad de 1.
.F2, disparará solo si la entrada de la izquierda es igual a 2.
I4.....
3F2.1AC
..:03D.
Proyectores
Esta sección explica lo básico para crear nuevos operadores proceduralmente. Detienen un operador en movimiento.
E, se moverá a la izquierda cada vez, en cada cuadro.
H, detendrá el movimiento de E.
..H
E..
Lee un operador en una posición
22O, pone el operador E en el offset 2,2.
22O...
..E..H
.....E
Escribe un Operador en una posición.
22X, le da salida al operador E en el offset 2,2.
22XE.
.....
.....
....E
Animar un Proyector
B4, rebotará desde 0 a 4, de ida y vuelta.
C...........
.B4.........
.1XE........
........:03C
........:03D
........:03E
........:03F
........:03G
Variables
Esta sección ejemplifica lo básico para almacenar, acceder y combinar dichos datos almacenados.
Escribir una variable
aV5, almacenará 5 como variable a.
aV5
Lee una variable
Va, le dará salida al valor de la variable a. Note como las variables tienen que ser siempre escritas encima de donde son leídas.
.....Va
.......
aV5..Va
.....5.
.......
aV6..Va
.....6.
Leer 4 variables
3Kion, dará salida a los valores de i, o y n, lado a lado.
iV0.oV3.nVC
...........
3Kion......
.:03C......
Mover un valor horizontal y verticalmente
Y, Mueve la entrada hacia la izquierda.
J, Mueve la entrada hacia abajo.
3..
J..
3Y3
Portar un disparo
Este método permite llevar los disparos a un lugar cerrado.
D43Ka...
.Y.:03C...
ORCA es un lenguaje de programación orientado a la creación musical en vivo, que puede utilizarse con habilidad. Sumado a un conjunto de instrumentos e intrefaces de audio basada en tecnología MIDI, UDP y OSC, representa un nuevo paradigma para la composición musical en la Era Digital del Ciberespacio Peronista.
permalink
01 december 2022
¿Cómo hago sonar la campana de terminal en Compiz en Ubuntu?
Ante la algarabía de los obreros en la Secretaría de Trabajo y Previsión, el Coronel Juan Perón pronuncia un discurso que se transmite por radio, en el cual enseña cómo activar el sonido de la campana de la terminal terminal en Ubuntu.
¡Trabajadores!
Obreros: [Estruendo] ¡Aaaah!
Perón: ¡El apoyo que me brindan las fuerzas del trabajo es el que me llena del mayor orgullo que puede sentir este soldado! Sólo la encomiable acción organizada es capaz de vencer la acción omnímoda del capital oligárquico.
Los trabajadores argentinos vivían harapientos y ganando unos magros pesos. Hoy, gracias a la acción reivindicativa que hemos emprendido desde esta Secretaría de Previsión, contamos con las más vangaurdistas legislaciones de protección social que se han producido en el Continente. Esta acción de Previsión Social es la que ha propugnado las mutualidades, y aumentado el número de los argentinos destinados a las Pensiones de una manera inusitada.
¡La obra social que hemos encarnado la aprecian no los charlatanes, sino los obreros, que la sienten! ¡Venceremos en un año o en diez, pero Venceremos!
¡En esta obra, me pongo al servicio del Pueblo! Y así como me pongo a su servicio, juro que jamás he de servirme de él para ninguna otra cosa que no sea su Pueblo!
Obreros: ¡Eeeh!
Y si algún día es necesario para despertar a esa fé, me incoporaré a un sindicato y lucharé desde abajo!
Obreros: ¡Presidente, presidente, presidente!
Por eso, al dejar el gobierno e incorporarme al Pueblo en mi calidad de Ciudadano, les pido una vez más que sean unidos y se despojen de todo otro sentimiento que no sea servir a la clase trabajadora.
Desde Anoche, con motivo de mi alejamiento de las funciones, se ha corrido en algunos círculos la versión de que los obreros están agitados. Yo les pido, que en esta Lucha me escuchen: ¡no se vence con violencia, se vence con inteligencia y organización!
Obreros: ¡Perón! ¡Perón! ¡Perón!
Por eso les pido también que mantengan una absoluta calma y cumplan con lo que es nuestro lema de siempre: "De trabajo a casa y de casa al trabajo".
¡Cuando los necesite, los llamaré con un campanazo de terminal de Ubuntu!
Obreros: ¡Mande Coronel! ¡Mande Coronel!
Saben ustedes que originalmente, las terminales de teletipo que se utilizaban como dispositivo de entrada/salida para los mainframes UNIX, contaban con una campana similar a la de las máquinas de escribir. Esta se disparaba electromecánicamente al recibir el código binario del carácter de control número 7 de la tabla ASCII, llamado caracter BEL (el "campanazo"). Este campanazo de terminal podía utilizarse como una advertencia sonora para llamar al Obrero cuando este estaba lejos de la terminal.
Con el tiempo este carácter fue reemplazado por pitidos electrónicos, normalmente a través de un oscilador conectado a un altavoz, o bien un altavoz piezoeléctrico.
Pues bien, en los sistemas más modernos, provistos ya de emuladores de videoterminal, lo usual es que se asigne el caracter BEL a un simple fichero de audio, y que la reproducción del mismo se dispare por medio del servidor de audio.
Normalmente suele querer desconectarse esta campana, pero en mi caso la encuentro necesaria para advertir ciertas tareas operativas. Y por qué no, me resulta simpática.
Si no oímos la campana, en primer lugar debemos tomar noción si en nuestro emulador de terminal, tal opción está activada. En el caso del escritorio MATE, como el Gnome3 de Ubuntu se usa la Terminal. En ella vamos activamos la opción Mostrar la Barra de Menú, y nos dirigimos al menú Editar / Preferencias del Perfil. En la solapa General nos aseguramos que esté tildada la opción "Campana de Terminal"
En el emulador de terminal de Ubuntu podremos intentar probar en dicha terminal el sonido de la campana usando la combinación Ctrl+g o bien introduciendo el comando:
tput bel
Si aún así no recibimos sonido de terminal, debemos a continuación evaluar que no tengamos silenciado o muteado las alertas de audio, ya que esto también enmudecerá la campana. Para ello vamos a Sistema / Preferencias / Hardware / Sonido.
En la solapa Efectos de Sonido nos aseguramos de que la opción Volumen de alerta esté destildada. También podremos escoger un tema de sonido (normalmente se usa "Default" o Yaru en Ubuntu Mate.
También será útil evaluar que los ficheros de audio estén presentes en nuestro sistema. Es raro que ello no sea así, pero nos quitaremos la duda. Como en caso del tema de audio de escritorio Default de Ubuntu Mate, el archivo de sonido asignado a la campana normalmente es /usr/share/sounds/freedesktop/stereo/bell.oga, y en el tema de audio de escritorio Yaru, cuyo archivo de campana será /usr/share/sounds/Yaru/stereo/bell.oga., podremos utilizar:
play /usr/share/sounds/freedesktop/stereo/bell.oga
play /usr/share/sounds/Yaru/stereo/bell.oga
Los dos ficheros de audio deberían poder reproducirse. Si alguno de estos ficheros de audio nos parecen molestos, podremos reemplazarlo por otro fichero de tipo .OGG, siempre que lo renombremos para usar el mismo nombre de archivo bell.oga.
En el caso de utilizar el gestor de escritorio Gnome, Marco o Marco con Efectos, con esto debería ser suficiente para contar ya con la campana de terminal en el servidor de audio digital de nuestro entorno libre.
Campana de terminal en Compiz
El gestor de escritorio Compiz cuenta con gran despliegue de animaciones y plugins de control, por lo cual puede ser el favorito de las Masas Peronistas. Normalmente para activar la campana en el gestor de escritorio Compiz debemos asegurarnos de ir a Sistema / Preferencias / Aspecto y Comportamiento / CompizConfig Setting Manager. Esto arrancará el configurador de Compiz.
Luego debemos hacer clic sobre la categoría Opciones Generales.
...y a continuación seleccionamos la solapa General. En ella nos aseguramos de tildar "Timbre Audible", lo que activará la opción audible_bell de Compiz.
Hasta la versión 16.04LTS de Ubuntu esto era lo único que se requería. Lamentablemente, el compositor de escritorio Compiz tiene un problema con esta campana a partir de la versión Ubuntu 18.04LTS.
En las versiones más nuevas de Ubuntu (incluyendo de momento 20.04LTS) puede hacerse necesario asignar específicamente un módulo de audio para la campana y asociarle un fichero de audio específico al caracter del timbre audible para que se dispare el campanazo. Sólo de esta manera Compiz podrá reproducirlo.
Por gran fortuna, esto es muy sencillo de hacer, e incluso existen varias maneras de llevarlo a cabo. La manera más directa y si