sábado, 7 de diciembre de 2019

¿Cómo transmito archivos a través de FTP en Ubuntu?

El 7 de diciembre de 1950 por medio del Ministerio de Transporte, el General Juan Perón crea Aerolíneas Argentinas Sociedad del Estado, lo que produjo un fulgurante avance en la velocidad de transporte. En el Acto Fundacional, expuso cómo transmitir archivos por FTP en Ubuntu.

(...)

Estimados señores,

Toda ocasión es propicia para hacer de una cosa buena, algo mejor.
 
Ya mediante el Decreto Nº 9.358 del año 1945, la Secretaría de Aeronáutica había establecido la Política Aérea Nacional, que era la primera del país. Su principal parámetro rector instruía que las rutas de cabotaje debían ser realizadas con preferencia por el Estado. A tal fin se previó el uso de empresas mixtas nacionales creadas al efecto, con domicilio en el país, socios argentinos nativos y acciones nominativas, poseyendo el Estado Nacional el 20% de las mismas. Se les garantizaba al capital privado restante una rentabilidad del 5% anual. Esto es lo justo.

Así aparecieron las líneas aéreas FAMA, ALFA y ZONDA, que junto a la Aeroposta Argentina de existencia previa, han estelado nuestro cielo en su quehacer comercial.

Sin duda estos blasones operaron de manera mucho más eficaz gracias al nuevo material aéreo y humano incorporado, toda vez que trenes logísticos de moderna concepción habilitaban el desplazamiento a lo largo de todo nuestro mapa.

Pronto se comprendió la necesidad benefactora de la unificación, mancomunando los esfuerzo de las firmas en un conglomerado de bandera: las Aerolíneas Argentinas. Esta nueva supra-organización dinamizará enormemente el transporte aerocoercial, y nos permitirá mayores velocidades con un mayor control, tanto para cargas como para pasajeros.


Junto con la creación de portentosas líneas marítimas del estado y la Marina Mercante, así como la nacionalización de los ferrocarriles, disponemos de un variado y funcional herramental para el movimiento de bienes y la prestación de servicios bajo una órbita Justicialista.

Pues bien señores, esto que hemos llevado a cabo en el ambiente del transporte es también una Realidad Efectiva en las redes conmutadas de datos. Debemos imponer alló distintos protocolos acordados para el envío y la recepción de información, dependiendo de su urgencia, velocidad y volúmenes de bits a transportar. Esta es la manera en la que se puede organizar desde un punto de vista racional y técnico el manejo paquetizado de la información.

Vean señores, esta esquematización telemática queda en manos de los llamados "protocolos de comunicación", que serán utilizados por diferente infraestructura de comunicación para lograr la transferencia efectiva y sin errores.

Uno de los protocolos fundantes que ha previsto la técnica de nuestro Movimiento es el Protocolo de Transferenciad de Ficheros, o FTP. Este nos permite enviar y recibir archivos digitales a través de las redes telemáticas simples, utilizando para ello computadoras dotadas del software específico, conformados por un programa cliente de ftp (en la terminal local) y otro programa servidor de ftp (ejecutándose en el servidor remoto).

Antiguamente este nexo realizaba a través de líneas telefónicas de voz, empleando módems de hasta unos 56 kilobaudios de velocidad, pero hoy es normal utilizar redes de datos a través del protocolo de comunicación paquetizada de internet, el TCP/IP.

El FTP es un protocolo simple y popular, y si bien es posible utilizar unas medidas de seguridad limitadas con él (en forma de sesiones únicas con usuario y contraseña, directorios protegidos, etc), actualmente se lo considera un modo de comunicación básico, recomendado sólo para ficheros y material que podamos considerar público.

En caso de que requiramos una infraestructura segura y cifrada deberíamos decantarnos por el más moderno y capaz secure shell, y su programa de copiado seguro scp.

Aún así conocer el manejo de un cliente FTP nunca viene mal, ya que se sigue empleando como método para copiar archivos desde servidores descentralizados.

FTP a través del Escritorio gráfico de Ubuntu
El uso de FTP a través del Ubuntu por medio del sistema gráfico X nos presenta enormes ventajas de facilidad de uso para un cliente normal.  Para establecer contacto con el servidor FTP vamos al menú Lugares / Conectar con el Servidor. Simplemente en el campo "Tipo:" hemos de indicar si se trata de FTP Público o FTP (con entrada), e indicar la dirección del servidor FTP, y eventualmente su puerto (el puerto estándar de FTP es 21).
En caso de tratarse de un sistema de FTP con entrada, debemos indicar nuestro usuario y contraseña.

En cualquiera de los dos, se abirá un navegador de internet y se empleará el mismo para resolver la navegación por medio de FTP en la carpeta remota. A su vez, debería aparecer un acceso directo en nuestro Escritorio con la carpeta remota solicitada. Por este medio podremos cargar o descargar copias de nuestros ficheros con suma facilidad (toda vez que tengamos los permisos adecuados en el servidor remoto, claro está).

Si hacemos un uso intensivo de estos protocolos, nos vendrá bien utilizar el práctico FileZilla, programa cliente capaz de utilizar FTP y una miríada de enlaces distintos para gestionar nuestras conexiones telemáticas remotas.

FTP en la Terminal de Ubuntu
 El protocolo FTP es robusto, pero está originado en la primer era de las comunicaciones telemáticas. Sus comandos intrínsecos son numerosos y tienen una equivalencia numérica, la cual es empleada por el programa cliente y el servidor para intercomunicarse. Como usuarios - en tanto - podremos emplear esta serie de comandos estandarizados para realizar las tareas de envío, recepción, revisión del status de comunicación a través de la terminal del sistema.

Nnunca viene mal dominar el empleo de la consola para encaramarnos a sistemas remotos y trasferirnos o recuperar archivos desde ellos. La terminal usa mínimos recursos para ello.

bin Modo binario para los archivos a recibir (recomendado)
ascii Modo texto para los archivos a recibir
get pide una copia del archivo remoto.
send evñia un archivo al servidor 
rename renombra un archivo remoto
dele borra los archivos remotos.
rmdir borra un directorio remoto



Por ejemplo, podremos abrir una terminal y conectarnos con el medio requerido. En Ubuntu podremos abrir una terminal con Ctrl+Alt+t y entrar cliente ftp. Lo haremos por medio de:

ftp

...al ingresar a nuestro programa cliente de FTP, nuestro prompt del intérprete de comandos cambiará para indicarnos:

ftp>

Esto indica que estamos operando desde el cliente de FTP. Lo siguiente será conectarnos al servidor remoto de ftp. Ello lo haremos ingresando en el prompt ftp> el comando open, seguido de la dirección del servidor. En caso de un FTP público sería:

ftp> open servidor.remoto

...o bien, si se trata de un servidor con permisos de entrada, sería:

ftp> open usuario@servidor

El cliente intentará conectarse. Al establecer la conexión  podría mostrarse un indicador de status si es que el servidor cuenta con el mismo, y solicitarnos el usuario y contraseña del servidor (si el servidor requiere entrada). Por ejemplo:

Esto nos indica el modo de transferencia establecido por el protocolo FTP. El más normal es sistema binary, que nos asegura control de transferencia. El otro modo disponible es el sistema ascii, que nos normalmente se usa para transferencias tipo texto o principalmente para el órdenes de los comandos para el servidor remoto. Afortunadamente, los clientes actuales conmutan automáticamente estos modos de transferencia de acuerdo a la necesidad de lo realizado.

Una vez dentro del servidor de FTP, naturalmente podremos utilizar los comandos de operación que suelen ser los operaciones similares a UNIX o del intérprete de comandos de Windows. En el caso de los clientes FTP más simples, es una buena costumbre revisar siempre cuál es nuestro directorio de trabajo actual, pues el prompt de FTP no suele ser explícito en mostrarlo. Para ello usamos el comando:

ftp> pwd

...el sistema nos devolverá cuál es nuestro directorio de trabajo actual. Si queremos ver un listado del los ficheros contenidos en el directorio de trabajo actual, debemos ingresar:

ftp> ls

...o el sistema FTP Windows el consabid comando dir.


Asismismo, podremos subir en los directorios con

ftp> cd directorio/

...o volver un nivel con:

ftp> cd ..

Estos comandos de cambio de directorio de trabajo ("CWD"), deberían provocar un reconocimiento por parde del servidor en forma del mensaje  "250 CWD command successful".

Si quisiéramos descargar un fichero por FTP, utilizamos el comando get ("obtener"). Por ejemplo:

ftp> get archivo.txt

Esto lo descargará en nuestro directorio de trabajo (normalmente la carpeta /home si iniciamos la sesión de FTP desde allí).

La descarga será instantánea (o la mayor velocidad acordada entre nuestro cliente y el servidor). Asimismo, se nos podría presentar un indicativo de status:



Para subir un archivo, empleamos el comando put.

ftp> put archivo.local /directorio/remoto/archivo.remoto

Naturalmente, en este caso el archivo.local se guardará como archivo.remoto en el directorio /directorio/remoto/, el cual debe existir y deberíamos contar con permisos de escritura en el mismo. Si ese no es el caso, podríamos omitir tales parámetros:

ftp> put archivo.local

...y de esta forma archivo.local se enviará con dicho nombre en la carpeta raíz del servidor.

Una vez que hayamos terminado de transferir archivos, debemos cerrar la sesión de FTP. Para ello debemos ingresar:

quit

.y el servidor podría indicarnos un resumen de la sesión de conexión a través del comando 221 de ftp, y regresarnos a nuestro prompt del intérprete de comandos de nuestro sistema.

221-
    Data traffic for this session was 39 bytes in 1 file.
    Total traffic for this session was 7868 bytes in 3 transfers.
221 Thank you for using the FTP service on servidor.org.


martes, 3 de diciembre de 2019

¿Cómo chateo en IRC con Ubuntu?

El 27 de enero de 1958 Juan Perón llegó a la República Dominicana desde Caracas y puso en marcha la política de subrepticio pacto del Movimiento Justicialista con la UCRI. A tal fin hubo de enseñar cómo utilizar el IRC en Ubuntu.

Vean señores,

Al llegar la hora de los enanos en mi Patria - donde el generalato se ponía los galones unos a otros - hube de emprender el exilio. Tras algunas escalas he tenido a bien recalar en esta hermosa Tierra. Su cálido Pueblo me ha recibido con las deferencias de un hermano, y me han permitido fungir aquí en Ciudad Trujillo una útil base de operaciones desde donde seguir los acontecimientos de mi país. Son oportunidades que hemos de tomar por necesidad, pues allí están haciendo la lucha, sabe.

Desde lo dirigencial, la solución en esta etapa de la lucha política debe ser simple: si nos prohíben como lo han tenido que hacer, le pondremos chimichurri al sapo y votaremos a quien pueda votarse; lo importante es mantener la fuerza de las estructuras y la unidad de las organizaciones. Ellos quieren nuestros votos para eso, pero tendrán que dar seguridades.

Si cumplen, bienvenido sea, la próxima seremos nosotros los que mandemos en el gobierno. Sí, yo seré Presidente otra vez. Y si no cumplen, porque los militares no los dejan - porque seguramente no los van a dejar o los van a voltear - entonces vendrá otra etapa nueva y estarán los militares otra vez y estos caerán, de eso no tenga duda...

Todo esto se puede predecir por quehacer político, e instrumentar gracias a las herramientas del Justicialismo. Nos podemos mantener al tanto gracias al IRC o Internet Relay Chat, herramental imprescindible para entablar por medio de una terminal informatizada comunicaciones telemáticas en tiempo real para operar desde la superficie.

Se trata de un modelo de formato abierto cliente-servidor. Específicamente, nos permite conectarnos a través de un puerto TCP 6667 a servidores de sólo texto y muy baja velocidad, ya fin de emitir y recibir mensajes generales. Gracias a ellos no será ajeno hacer amigos y reunir grupos del Pueblo con nuestros mismos intereses, e incluso realizar tareas de conducción y adoctrinamiento.

Ahora bien, a diferencia de un chat privado, las salas de chat nos permiten precisamente permiten entablar conversaciones entre varios usuarios que se encuentren en la misma. Ello implica que no deben considerarse necesariamente como privadas. Podríamos encontrar múltiples personas que abarroten un establecimiento.
A tal fin, las salas de chat IRC pueden diagramarse dentro de un servidor de la forma que queramos a fin de lograr cierta privacidad, mediante el uso de "canales (los cuales también podríamos llamar "sub-salas"). Este temperamento se puede hacer a nivel servidor, pero normalmente también se habilita a los propios usuarios, a fin de permitirles orientar las charlas si fuese necesario.

Para usar esta vía comunicativa, debemos hacer uso de un programa cliente, y eventualmente contar con un servidor de IRC, o utilizar uno de los muchos disponibles.

Uno de los programas clásicos para chatear a través del IRC es el peronista irssi, un clásico de Unix y otras plataformas.

Para instalarlo poremos abrir una terminal de Linux con Ctrl+Alt+T e ingresarle los siguientes comandos de organización:

sudo apt update
sudo apt install irssi


No bien se haya descargado el paquete, podremos dar arranque al cliente de conexión desde la misma terminal con:

lrssi

La vemtana inicial será parca, y habremos de utilizar una larga lista de comandos para dirigir el programa.

Afortunadamente, los comandos básicos deñ protocolo IRC son pocos y estandarizados. irssi a su vez permite algunas opciones más. Naturalmente, estas operan en modo texto.

En este caso podremos adherirnos a un servidor donde tengamos usuario, mediante la orden /connect. Por ejemplo, podríamos abrir el servidor de IRC público de la sdf.org, mediante:

 /connect irc.sdf.org
En el caso de que el servidor sea privado, se nos solicitará usuario y contraseña o se indicará cómo darnos de alta. En la pantalla inicial además suele utilizarse para ofrecer informaciones sobre cómo obtener un usuario con el administrador del servidor, si es que tal procedimiento es requerido. En el caso del sdf.org debe utilizarse nuestro usuario de dicha red.

Conforme hayamos iniciado la sesión con el usuario, podremos unirnos a alguno de los canales de chat propuestos (se los indica con el signo # para los canales externos y & para los internos del servidor). Para unirnos a un canal se emplea el comando /join o /j. Por ejemplo podremos crear o unirnos al canal #peronismo podríamos utilizar:

/j peronismo

En la parte superior contaremos con los diferentes mensajes de status y un reporte de los usuarios indicados. Para ingresar nuestro mensaje simplemente lo tipeamos y enviamos al servidor presionando Enter. Todos los presentes en el canal normalmente podrán recibirlo, por lo que las IRC requien el consabido decoro tradicional de las salas de chat.

Cada servidor de chat es programable y suelen permitir múltiples canales de chat, o dejar algunos abiertos.

Naturalmente contaremos con la opción de banear ciertos usuarios del chat para evitar que reciban nuestros mensajes.

 El cliente irssi cuenta con varias ventanas de trabajo que podremos acceder con Alt+nro de ventana. Esto permite charlas independientes con varias sesiones o canales.

En el caso de la SDF.org, es normal encontrar en Alt+1 el canal de ayuda #helpdesk, donde podremos solicitar ayuda (en inglés). Nuestras conversaciones quedarán en la pantalla Alt+2 en adelante.

Naturalmente, podremos abandonar el programa con:

/quit

Si quisiéramos invocar automáticamente siempre los mismos canales o servidores (salas de chat) debemos realizar un procedimiento simple para programarlo.

Primero iniciamos irssi, y luego ingresamos el servidor y los #canales que querramosmdentro de cada servidor mediante la siguiente sintaxis:

/network add sdf 
/server add -auto -network sdf irc.sdf.org 
/channel add -auto #spanish sdf



Podremos agregar los canales que querramos. Una vez ingresados, salimos del cliente con /quit.

Luego volvemos a ingresar a irssi, y se abrirán todos los canales. Elegimos la pantalla que deseamos ver en primera instancia toda vez que abramos el programa con Alt+nro de sesión o mendiante Ctrl+p. Una vez que hayamos elegido la pantalla del #canal deseado, guardamos la configuración con el comando /save layout.

miércoles, 27 de noviembre de 2019

Estrenamos nuevo diseño

El blog Ubuntu Peronista se ha caracterizado por su enconada lucha por el adoctrinamiento de las Masas en el banderas del Justicialismo y del Software Libre, y por su duradero diseño. Hoy estrenamos un remozado del mismo, pensado para adecuarse con mayor comodidad a los monitores de definición extrema.

Esto responde a la masificación del estándar Full HD, con unos 1920 pixels de ancho en lugar de los anteriores 800 o 1024 de la antigua norma SVGA. El nuevo diseño también es capaz de operar también en los modernos monitores 4K o 5K . Los resultados con la función HiDEP han mejorado.

Nuevo nuevo diseño, que es el del Pueblo, mejora la visibilidad de sus tipografías en teléfonos celulares ya que ahora no se requiere hacer zoom a nivel fijo para leerlo, y adopta su inefable "modo nocturno" si el usuario lo desea.
No obstante los cambios, el blog mantiene su clásico concepto gráfico panfletario, soportado por las masas obreras peronistas movilizadas.

Ubuntu Peronista se declara como puntal de avance en la lucha por un Software Libre, Justo y Soberano.

jueves, 21 de noviembre de 2019

¿Cómo instalo VCV Rack 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 podramos 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

VCV Rack 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 18.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:

cd ~ ;
wget wget https://vcvrack.com/downloads/Rack-1.1.6-lin.zip ;
unzip Rack-1.1.6-lin.zip ;
mv Rack/ .rack/ ;

Como el VCV Rack no está paquetizado específicamente, para nuestro Linux conviene crearle un archivo de inicialización propio, que no es otra cosa que un archivo que contiene todos los comandos para que VCV Rack arranque fácilmente. Para ello ingresamos:

nano  ~/.rack.sh

...se abrirá el editor GNU Nano con un archivo vacío. Le pegamos el siguiente contenido:

#!/bin/sh
# Guión peronista de ejecución para Rack
# Copyleft Ubuntu Peronista.
cd ~/.rack/
./Rack
Tras poner dicho texto, guardamos los cambios en el fichero presionando Ctrl+o y abandonamos el editor Nano con Ctrl+x. Al volver a la Terminal sólo resta otorgarle al archivo de inicialización recién inaugurado el pertinente permiso de ejecución. Lo haremos con:

chmod +x ~/.rack.sh

Ahora ya podríamos dar inicio a Rack desde la terminal, ingresando:

./.rack.sh

Naturalmente, también podríamos querer crear un lanzador en Aplicaciones / Sonido y Video / VCV Rack, que nos dirija al archivo inicializador recién creado, que es /home/usuario/.rack.sh

Si hicimos esto, podremos iniciar el programa desde Aplicaciones / Sonido y Video / VCV Rack y debería ejecutarse.

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.
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.

Cómo usar VCV Rack
Al arrancar el programa ya nos presentará un gabinete y distintos racks apilables instalados en él. Podremos movernos en la ventana que representa la gabinete presionando la rueda de scroll del mouse y arrastrándonos.

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.

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...

Lo primero que tenemos que hacer para que suene en Ubuntu es escoger una salida de audio correcta en el modulo de salida AUDIO-8. Para ello hacemos clic con el botón derecho del mouse en el asignador de salidas en donde dice "No Devices" ("sin dispositivos"), y en la lista desplegable que aparecerá elegimos el dispositivo de audio que queramos utilizar.

En mi caso elijo la opción Default (1-8 in, 1-8 out), que es la salida por defecto de audio analógico de la computadora.


Ya podremos 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.

Módulos de VCV Rack

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í.

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 .rack/ -r
rm .Rack/ -r
rm ~/.rack.sh

jueves, 14 de noviembre de 2019

¿Cómo instalo PowerShell en Ubuntu 18.04LTS?


Reunido con los obreros de la Construcción, Juan Perón expone las necesidades del momento e indica cómo instalar PowerShell en Ubuntu 18.04LTS.

(...)
Vean señores;

Sobre gustos no hay nada escrito. Yo prefiero los Pall Mall o los Particulares picado grueso cortado a cuchillo, pero también puedo optar por el charuto. En intérpretes de comandos, uso el Bourne Again Shell, el mítico Bash.

Esto conforma la opción que un verdadero Conductor pelo en pecho utiliza. Sin embargo, podremos elegir otras opciones más adecuadas para otros paladares.


Power$hell es un intérprete de comandos (o "shell") basado en tareas y un lenguaje de guionado (script), escrito en .NET. Supuestamente ayuda a los administradores de sistema y usuarios avanzados a automatizar tareas de administración de sistemas operativos (Linux, MacOS, y Window$), y sus procesos.

Los comandos de Power$hell nos permite administrar las computadoras desde la línea de comandos. Con él, tendremos accesos a los almacenamientos de datos, el registro y la tienda de certificados, así como podremos acceder rápidamente el sistema de archivos bajo Windows.

Sin embargo, para un usuario peronista es más bien inútil: Linux cuenta ya con todas las características necesarias y Power$hell no deja de ser una ajada bandera que Micro$oft pretende imponer como reemplazo del poderoso Bash que todos hemos aprendido a dominar.

Powershell no está incluido en los repositorios oficiales de Ubuntu, pero aún así tendremos tres formas de instalarlo. Podremos instalarlo como un paquete estático, como snap, o cargar el repositorio que Micro$oft ha dispuesto para Ubuntu e instalarlo desde allí.

Instalación estática de Power$hell

En primer momento, el método que os recomiendo es descargar una versión estable y estática de Power$hell para usarla en Ubuntu. Esta forma nos permite evaluarlo perfectamente y usarlo si esa es nuestra necesidad, pues de cada necesidad nace un derecho. La instalación estática no será actualizada confome vayan apareciendo nuevas versiones de Power$hell, pero es la más simple de realizar con fines evaluatorios. Para ello abrimos una Terminal e ingresamos los siguientes Comandos de Organización:

cd  ~/Descargas/
wget https://github.com/PowerShell/PowerShell/releases/download/v6.2.3/powershell_6.2.3-1.ubuntu.18.04_amd64.deb

sudo dpkg -i powershell_6.2.3-1.ubuntu.18.04_amd64.deb

Normalmente este comando indicará que existen librerías faltantes, de modo que podremos solucionar este inconveniente con el comando:


sudo apt-get install -f 

Una vez instalado, ejecutamos Powershell en nivel usuario con:

pwsh

También podremos ejecutarlo con permisos de superusuario o administrador, con:

sudo pwsh

Instalación Dinámica de Power$hell

Es importante notar que si queremos una versión dinámicamente actualizable de Power$hell, debemos hacer un procedimiento diferente.

Para ello primero purgamos cualquier instalación de Powershell que tengamos con:

sudo apt purge powershell

Y luego ejecutamos el siguiente bloque de comandos de organización:

wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb ;
sudo dpkg -i packages-microsoft-prod.deb ;
sudo apt-get update ;
sudo add-apt-repository universe ;
sudo apt-get install -y powershell 

Y una vez que esté todo instalado, iniciamos Power$hell con:

pwsh

Instalación de Power$hell como Snap:

sudo snap install powershell --classic

Uso de Microsoft PowerShell en Ubuntu:

El PowerShell realmente no es más potente que los shell tradicionales de Ubuntu, y es mucho más conveniente correr Bash en Window$ que la delirante idea de correr Power$ell en Ubuntu. Como diferencia, está mayormente pensado para manejar un entorno de objetos en lugar de los clásicos string de texto que se pueden mandar por un caño en los sistemas similares a UNIX. Aún así, os indicaré los rudimientos:

Al arrancar el Power$hell en Ubuntu nos encontraremos con la ventana de inicio del prompt.


El primer comando que podríamos querer ejecutar el la ayuda Help, o el actualizador de los archivos de ayuda (similares al man de Linux). Esto se hace ingresando el comando

Update-Help

Para salir de Power$hell ingresamos el mismo comando que en Linux:

exit

...y abandonamos tal intérprete de comandos volviendo al que tengamos instalado en nuestro sistema.

miércoles, 13 de noviembre de 2019

¿Cómo instalo y juego C-Dogs en Ubuntu?

¡Trabajadores!


El arte de la Conducción nos pone frente a la necesidad de dominar acciones fluidas de relaciones de fuerzas. En este principio nodal, lo natural tiende representar a un equilibrio de fuerzas, y la acción es por mas difícil pues nos requiere destruir tal equilibrio.

La hora por tanto no nos permite descansar en nuestros laureles; hemos de enfrentar sus desafíos con toda la acción de los hombres concentrada en un objetivo: dar al Pueblo lo que es del Pueblo. Este desequilibrio no tiende a ser permante; sólo lo será si nuestro material humano está consabido en los esfuerzos que se le requieren.

Es por ello que la actividad de adoctrinamiento no debe darse nunca por finalizada. Es uno de los elementos fundantes y la argamasa de unión en el desequilibrio de la lucha táctica y en el quehacer del reordenamiento estratégico.

Es fundamental entender que nuestros objetivos no podemos lograrlo solos, de manera gregaria. Simplemente no existen dioses capaces de hacer eso, bastante con que nosotros somos hombres. Nuestra lucha requiere entonces mancomunar esfuerzos de hombres y mujeres para lograr llevarla al éxito, y tal vez esfuerzos que en un primer instante no parezcan pródigos en resultados.

La oligarquía cipaya, sin Patria ni Bandera, es nuestra enemiga. De mínima, hará lo que ya preveemos: usar prebendas de poder y declamar los más espurios gaznidos para amilanarnos. A nada hemos de hacer caso, pues ya les conocemos el canto y como se atizan el pecho. Pero sin duda recurrirán a otros métodos aún inconfesables, y para ellos son los que hemos de prepararnos hoy para combatir mañana.

Es por ello que para superarlos debemos operar de una forma firme y agresiva, que no les de tiempo a reaccionar. Esa es la manera de operar en este campo actual.

Pues bien señores, un valioso aporte que puede ponernos a tiro lo forman los software lúdicos que corren libremente bajo GNU. Uno de ellos es el C-Dogs-SDL.

Se trata de un juego de super-acción en tercera persona, derivado del clásico Cyberdogs (1997) que corría en modo protegido en M$-DO$. En aquél software del ayer hasta dos jugadores podían controlar de forma cooperativa dos recios mercenarios, capaces de utilizar todo tipo de armamento para superar niveles laberínticos.

En la versión actual, además de contar con mejoras en la inteligencia de los enemigos computados y niveles más complejos, tendremos mayores opciones de armamento y la posibilidad de jugar simultáneamente con hasta cuatro jugadores en un mismo sistema (dos con teclado y dos con joysticks USB).

Para instalarlo en nuestro sistema bien podremos hacer uso de la terminal, abriendo una con Ctrl+Alt+T e ingresando los siguientes Comandos de Organización:

cd ~/Descargas ;
wget https://github.com/cxong/cdogs-sdl/releases/download/0.7.0/C-Dogs.SDL-0.7.0-Linux.tar.gz ;
wget https://cxong.github.io/cdogs-sdl/missionpack.zip ;
tar xvzf C-Dogs.SDL-0.7.0-Linux.tar.gz ;
upzip missionpack.zip ;
mv C-Dogs\ SDL-0.7.0-Linux/ ~/.cdogs/ ;
cd ~/Descargas/missionpack/dogfights/ ;
mv Traut/ ~/.cdogs/dogfights/ ;
mv Willie/ ~/.cdogs/dogfights/
cd ~/Descargas/missionpack/missions/ ;
mv missionpack/ ~/.cdogs/missions/ ;


Para ejecutarlo podemos ir a:

cd ~/.cdogs/bin/
./cdogs-sdl

...o bien crear un lanzador hacia /home/usuario/.cdogs/bin/cdogs-sdl para facilitar su arranque.


La versión C-Dogs SDL actual está portada para esta particular capa de abstracción, lo que nos permite cómodamente darle ejecución hoy en sistemas GNU con Linux, y por supuesto en equipos de escasísima potencia computacional.

Una vez que lancemos C-Dogs, nos encontraremos con el menú principal. Esta nos permitirá iniciar una misión rápida cooperativa con Start, abrir las Opciones (Options), o salir (Quit). Lo lógico será iniciar una partida rápida, la cual podrá configurarse como normal o "Pelea de Perros" (escencialmente en lugar de pelea de perros cambiamos al modo deathmach de todos contra todos).


En primera instancia habremos de asignarle nombre y apariencia a nuestro combatiente (cada jugador debe hacer esto). Para ello tecleamos su nombre letra a letra à la arcade, y le elegimos los colores de brazos, cuerpo, piernas y un diseño para la cara.
Una vez iniciado el menú de juego, podremos asignarle las características del match en cuestión (por ejemplo, activar la niebla de guerra de nuestros jugadores, la capacidad del HUD o interfaz de ayuda, el mapa "radar", si queremos pantalla única o dividida, etc.  Cada cambio de este tipo permite una manera distinta de jugar, más coordinada o estratégica según querramos.

El desarrollo del juego es algo frenético en sus niveles superiores, y de sencilla lógica. En ocasiones debemos formar emboscadas, avanzar individualmente para atraer los enemigos y reventarlos con ayuda del compañero, o formar los consabidas "L", para amurallar con fuegos automáticos las posiciones propias y defendernos mutuamente.

Para aumentar nuestro poder de fuego podremos recoger nuevas armas con munición limitada y con distintos efectos: lanzallamas, escopetas de corto alcance, ametralladoras, lanzacohetes, lanzarrayos, molotovs, granadas, etcétera.

C-Dogs se maneja inicialmente con el teclado, y el primer jugador utilizará las fechas del teclado, junto con las teclas Z (arma principal), X (arma secundaria o salir) y S  lanzar granadas u otros explosivos arrojables respectivamente. El segundo jugador podrá operar con el teclado numérico, y las teclas asociadas a él (Enter, + y el 0, todos ellos del teclado numérico). Adicionalmente, podremos operar dos jugadores más usando joysticks USB conectados a nuestro sistema (totalizando cuatro mercenarios). Naturalmente estos controles son libremente configurables.

La inteligencia de los enemigos (IA) se ha mejorado mucho, y contamos con un editor de misiones, el cual podríamos lanzar desde la terminal con:

cd ~/.cdogs/bin/
./cdogs-sdl-editor

viernes, 25 de octubre de 2019

Cómo instalo y uso Angry IP Scanner en Ubuntu?

Al iniciar el año lectivo de 1950, el 7 de marzo de ese año, y después de tres años de gestión gubernamental, el entonces Presidente de la Nación, Juan Perón, se reúne con los directores de las Escuelas de Orientación Profesional, y expone cómo utilizar Angry IP Scanner para tareas de red en Ubuntu.

"En primer término, debo agradecerles la amabilidad de haber llegado hasta aquí para darme la satisfacción, por lo menos una vez al año, de tener el placer de estrecharles la mano. Yo hablo siempre sobre las Escuelas de Orientación Profesional con el cariño y el entusiasmo de quien ve en realización una idea que, en 1945, nosotros esbozamos frente a las necesidades crecientes de la capacitación de nuestro material humano.

La misión, la función, de estas escuelas se va llenando tal cual yo había imaginado y había deseado. Yo no soy partidario de empezar las obras en grande para, muchas veces, terminarlas en chico; vale más seguir el curso de construcción de las pequeñas cosas que, con el tiempo, se hacen grandes, se consolidan y se hacen fuertes.

Nosotros podríamos haber creado un Consejo Nacional de Educación para la enseñanza profesional, pero, posiblemente, eso hubiera funcionado con ese pecado original de haber nacido demasiado grande. En cambio, la política que siguen las Escuelas de Orientación Profesional, es decir, la de formar una pequeña institución que va fortaleciéndose año tras año, es la que va a darle la tradición que necesitan, la consolidación que es indispensable para las grandes obras y la base sustentatoria de esa columna que hemos levantado sobre la originaria ley de creación de la enseñanza de orientación profesional.

Yo veo que esto se va cumpliendo sobre esas bases. Siempre repito cuáles fueron los móviles originarios de esas escuelas. Nosotros habíamos visto crecer a nuestros operarios y formarse en el dolor del taller, en la necesidad de trabajar desde chicos. Eso, como método empírico, llena una parte solamente de la enseñanza. Es necesario acompañar a ese método real, un método ideal, es decir, darle también los conocimientos necesarios para que el operario no termine muriendo o jubilándose de operario, sino que tenga abierto el horizonte para ir perfeccionándose en sus conocimientos generales.
Vean señores, la vida nos da experiencias que siempre pueden aplicarse a otra cosa. A un pato se lo caza con llamador; unos graznidos realizados con este instrumento cerca de una laguna harán curosear a una de estas aves y ahí hay que atizarla. En la política también se hace lo procedente, y con uno que hable usted capturará dos o tres zonzos. Pero un Movimiento como el Justicialista tiene por necesidad que aportar conocimientos más acabados a los educandos, y el ofrecerles estudio del herramental y el sentido común propicio para la tarea que a cabo hemos de llevar.

Para cazar una perdiz no debemos recurrir a disparar al cielo con docenas de tiros de escopeta esperando de casualidad pegarle a algo: la técnica eficaz consiste en utilizar un perro avispado que busque en el pajonal y nos levanta la perdiz. Será allí cuando quede al alcance de una buena Victor Sarasqueta...

Con esto refiero que hemos de conseguir darle al hombre una herramienta para que luche en la vida, aunque es primordial pensar que no debemos suministrar armas a una mala persona, que va a darles un mal empleo.

De un sistema GNU con Linux podría decirse lo mismo. Naturalmente que comandos de terminal como nmap, traceroute, ping, etcétera, podremos hacer un gran trabajo para descubrir la tipología de red. Las técnicas pueden ser totalmente vernaculares, pero también en ocasiones de agresión telemática podemos querer emplear métodos más osados.

Si tenemos un sistema de 64 bits, debemos abrir una terminal con Ctrl+Alt+T e ingresar los siguientes Comandos de Organización:

cd ~/Descargas/ ;
wget https://github.com/angryip/ipscan/releases/download/3.6.2/ipscan_3.6.2_amd64.deb ;
sudo dpkg -i ipscan_3.6.2_amd64.deb ;

En cambio, si nuestra arquitectura es de 32 bitios, ingresamos:

cd ~/Descargas/ ;
wget https://github.com/angryip/ipscan/releases/download/3.6.2/ipscan_3.6.2_i386.deb ;
sudo dpkg -i ipscan_3.6.2_i386.deb ;

Tras ingresar nuestra contraseña de Conductor, se instalará la paquetería necesaria. Una vez instalado todo ya podremos ejecutarlo desde Aplicaciones / Internet / Angry IP Scanner.

Como su nombre lo indica Angry IP Scanner es un analizador furibundo de direcciones IP, que puede utilizarse para rastrear infraestructura de red local o remota.

Al iniciar, se mostrará la ventana comenzando que explica los rudimentos del programa, a la vez que nos permite destildar la opción para enviar información anónima de uso al desarrollador (os recomiendo destildarla).

 El programa consta de un despliegue sencillo para acometer sus tareas de análisis telemático de las redes que osemos enfrentar. En primer lugar dispondrá nuestra IP de red de área local (LAN), y podremos hacer un análisis de IPs locales simplemente haciendo clic directamente en el botón Comenzar.

Una vez finalizado el escaneo, podremos ver los resultados. Nos marcará en rojo las IP no encontradas y en azul las funcionales (luego podremos filtrar y pedirle que sólo muestre las activas, lo cual es útil si nuestro rango de búsqueda es exasperadamente amplio.
Hemos de conocer algo de redes y disponer de un refresco de las expresiones que el programa utiliza. Por ejemplo:

Alimentador/feeder - Es el método del Generador de direcciones IP que el programa usa para escanear. Angry IP Scanner provee varios tipos de alimentadores: puede buscar según Rango de IPs, de forma Aleatoria, y mediante un archivo de texto que contenga la lista de IPs. Se puede seleccionar un alimentador usando la lista de selección situada al lado del botón de inicio.

Buscador - Obtiene información específica sobre un equipo, por ejemplo puede buscar según Tiempo de ping, el Nombre de equipo, o los puertos abiertos. Los alimentadores habitualmente muestran columnas en la lista de resultados de escaneo. Podremos seleccionar buscadores adicionales eligiendo "Herramientas->Elegir buscadores" del menú.

Equipo activo - Equipo que responde a los ping. Son los marcados en azul en la lista de resultados.

Equipo inactivo - Equipo que no responde los ping (son los marcados en rojo en la lista). Sin embargo, podrían tener puertos abiertos (si el firewall bloquea el ping). Para escanear completamente estos equipos, elige "escanear equipos inactivos" en Herramientas->Preferencias.

Puerto abierto - Un puerto TCP que responde a los intentos de conexión. Los equipos con puertos abiertos están en verde en la lista de resultados.

Puerto Filtrado - Un puerto TCP que no responde que está cerrado (sin paquete RST). Estos puertos son usualmente bloqueados por un firewall.

Realizando Ping (comprobando si los equipos están activos):

Angry IP Scanner puede usar diferentes métodos para realizar ping a los equipos. Se puede elegir en el cuadro de preferencias.

  • ICMP echo - el método estándar usado por el programa 'ping'. Este requiere permisos de administrador o root en la mayoría de las plataformas. Ten en cuenta que algunos firewall deshabilitan el envío de paquetes de respuesta de ICMP echo, haciendo aparecer a los equipos como equipos inactivos.
  • UDP - envía paquetes UDP (datagramas) a uno de los puertos del equipo y verifica si hay respuesta (positiva o negativa). Esto no es estándar, pero funciona sin privilegios especiales.
  • TCP - intenta conectar al puerto 80 (http) en el equipo. Esto puede funcionar mejor que UDP para algunas redes, pero habitualmente es peor.
  • Ping UDP y TCP mayormente no detectan correctamente los routers y demás equipamiento de red.
  • TTL (tiempo de vida) - este plugin trabaja solo con el método de ICMP ping. Su valor inicial es habitualmente 64 o 128, y la diferencia representa la distancia del equipo en número de nodos que recorrió.

La lista de resultados muestra los resultados el escaneo, una línea por cada dirección escaneada.

Usando el cuadro de preferencias se puede configurar para mostrar:
  • Todos los equipos escaneados
  • Sólo los equipos activos
  • Sólo los equipos con puertos abiertos

Valores especiales (también configurables):

[n/s] - No escaneado, cuando no fue escaneado del todo (ej si el equipo está inactivo)
[n/a] - El valor no está disponible, pero fue escaneado

A cada uno de los resultados podremos someterlos adicionalmente a acciones más avanzadas. Por ejemplo, hacer llamadas Secure Shell (SSH) o Telnet para control remoto, llamadas HTTP (ya sea en el puerto 80 u otros diferentes), o actuar como cliente FTP. Una gran variedad de protocolos permiten entonces rastrear la tipología de la red, pero también oficializar de una adecuada arma de asalto telemático.

jueves, 17 de octubre de 2019

Se lanza Ubuntu 19.10 "Eoan Ermine"

Como es natural los 17 de octubre se festejan con el lanzamiento oficial de una versión de Ubuntu. En este caso, Canonical lanza Ubuntu 19.10 Eoan Ermine, la 31º versión de Ubuntu en ser lanzada desde 2006. Esta versión no cuenta con soporte de largo plazo. Esta particularidad quedará reservada para la versión 20.04LTS "Focal Fossa", cuyo lanzamiento está previsto para el mes de abril del año próximo.

Las versiones sin soporte a largo plazo se establecen como temporales a fin de evaluar posibles características para las versiones estables "LTS".
Entre las novedades de 19.10 Eoan Ermine encontramos su escritorio GNOME 3.34, que incluye creación de carpetas de aplicación, opción siempre solicitada y que momentáneamente había sido dejado de lado. La performance de este escritorio se ha mejorado drásticamente. Ahora las unidades USB aparecen en el Dock de Ubuntu, lo cual era un problema inexcusable.

El Kernel es el Linux 5.3, rodeado de una cadena de herramientas actualizadas, incluyendo Python 3.7.5, el servidor de sonido PulseAudio 13.0 de capacidades avanzadas. En el apartado de video, se provee opcionalmente con los controladores propietarios nVidia descargables durante la instalación, así como el sistem de archivado ZFS, de alta seguridad (similar al de FreeBSD). Contamos ahora con soporte para compartición de medios DLNA, así como para la nueva norma de seguridad de Wifi, la WPA3.

Naturalmente, también contamos con una miríada de aplicaciones actualizadas, como LibreOffice 6.3.

Si bien esta versión sólo se recomienda para sistemas de evaluación, podremos descargarla desde aquí.

martes, 8 de octubre de 2019

¿Cómo juego a la batalla naval en Ubuntu?


¡Trabajadores!

En los tiempos que corren, la unificación del Movimiento Obrero ha de ser la base para defender los derechos de los Trabajadores y extender los mismos frente a una oligarquía empobrecedora y onmímida.

El otro pilar necesariamente tiene que ser la inexcusable reivindicación histórica del Movimiento Nacional Justicialista en la Argentina. Esto es un sentir unánime del Pueblo, el que hemos también de extender y defender frente a ideologías foráneas sin base ni provecho. A partir de eso, empezamos a andar.

Siempre he dicho que un derecho puede concatenar en otro, siempre que sean vistos bajo un cristal de acción positiva. Es por ello que la paleta ofrecida por los Derechos del Trabajador, necesariamente llevan a otra más graduada que hacen a los derechos de tercera y cuarta generación. Una Constitución Nacional que los haga válidos ha sido siempre un objetivo que hemos de alcanzar, grabando en mármol los logros reivindicativos que entre todos los argentinos de bien nos hemos propuesto.

Indudablemente que la suma de todos los beneficios, benefician a todos. La enseñanza de un sistema computarizado tienen también las mismas implicancias.

Veamos el claro ejemplo de un juego. Naturalmente que superficialmente consta de su objetivo lúdico, lo cual es natural. Pero en el caso de nuestro sistema GNU con Linux bien podremos aprovechar dicho objetivo para sumarle el de la enseñanza de otros menesteres. Sin dificultad alguna podríamos querer establecer una manera amigable para adoctrinar ciertos aspectos del uso de redes telemáticas, o de manejo de las interfaces gráficas, exploración de las habilidades del hardware, etc.

Un ejemplo de esto podremos encontrarlo en un juego clásico: la Batalla Naval. Esta recordado juego para dos jugadores implica en colocar en una grilla una "flota" formada por distintos tipos de buques, a la cual debemos cañonear "a ciegas" mediante el uso de coordinadas horizontales y verticales. En esta iteración computada podremos hacerlo contra la unidad central de proceso de nuestro sistema, o bien con otro jugador a través de una red local.

Para jugar contra la computadora, debemos seleccionar primero el nivel de dificultad a la derecha de la barra de status, y luego seleccionar Single Player en la pantalla inicial, o directamente podremos hacer esta elección en el menú Game.

Si lo que quisiésemos fuese comenzar una partida en red, esta situación nos permitirá conocer algo sobre los puertos TCP. Vean señores, uno de los jugadores debe servir el juego seleccionado Host network game o eligiendo Game / Host Game... En el cuadro de diálogo que aparece debemos ingresar nuestro apodo en Nickname y un Puerto. Normalmente, Naval Battle sugerirá nuestro nombre de usuario pero podemos usar cualquiera. El puerto es un número de circuito telemático que permite determinar a donde llegará la información dentro de una red. Consiste en un número decimal que puede ir desde 1 hasta los 65535, aunque los primeros 1024 puertos están reservados para distintas actividades estandarizadas. El puerto predefinido debería funcionar bien, pero si hubiesen problemas en nuestra red específica podremos elegir cualquier otro por encima del 1024.


Nota: Debemos avisarle al otro jugador en caso de cambiar el puerto por defecto, ya que ambos jugadores deben utilizar el mismo para establecer una conexión en la red.

El segundo jugador tiene que elegir Connect to network game, o hacer clic en el mení Game / Connect to Game.... Nuevamente se sugerirá un apodo en Nickname:. En el campo Hostname: se debe ingresar el nombre de sistema de la máquina que es el servidor (la máquina del jugador que inició el juego).

Cuando tenemos todo listo, podremos iniciar el juego. Simplemente seguimos las instrucciones en la barra de status. Esta propondrá ayudas y sugerirá que hacer a continuación. Cuando miramos la pantalla, encontraremos dos grillas que nos servirá de mar de batalla. El área izquierda es la propia, mientras que la derecha del contrario. En este trozo de océano debemos poner nuestros barcos, y el enemigo hará lo propio en su zona.

Lo primero es disponer nuestro material naval donde queramos en nuestra zona. El contrario hará lo propio. Poner los barcos es fácil. Simplemente hacemos clic en el sector que deseamos utilizar para poner el barco. Tenemos una flota de cuatro buques, el primero será un destructor con un largo de un cuadro, el siguiente una fragata de dos sectores, un acorazado de tres y un portaaviones de cuatro. Normalmente el buque será colocado horizontalmente, pero podremos rotarlo 90º usando el botón derecho del ratón antes de colocarlo.

Una vez comenzadas las hostilidades, debemos hacer disparar nuestros cañonazos haciendo clic con el botón izquierdo del ratón donde suponemos que el buque enemigo estará localizado a fin de realizar los disparos allí.
¡Nuestro fuego a ciegas puede eventualmente averiar un buque y proporcionarnos la pista de su existencia!. Para hundir uno, debemos alcanzar todos los cuadros que éste ocupa. Naturalmente, el fuego es por turnos, de manera que quien sea más rápido y hábil con sus cañonazos, definirá la partida.

Para reiniciar el juego, podremos elegir Game / Restart Game, o presionando F5.

jueves, 19 de septiembre de 2019

¿Cómo configuro el teclado IBM Model 122 "Acorazado" en Ubuntu?

¡Trabajadores!

Es sabido que un trabajador ha de contar con las mejores herramientas para hacer su trabajo. Pero muchas veces las mejores herramientas son las que el mismo trabajador crea o amolda a sus necesidades.
Es sabido que dentro del mundo de las terminales Unix, inicialmente se dio en utilizar los teclados provistos en las máquinas teletipo Tipo 33. Estos incómodos teclados fueron superados por otros mecánciamente más aptos y funcionalmente mejor pensados. Indudablemente los teclados tipo Space Cadet de las folklóricas computadoras Symbolics, o los influenciales LK201 para las postrimeras terminales DEC son espejos en los que habremos de mirarnos en los años que vendrán. Sin embargo, nadie duda que el más conocido de los teclados hayan sido los modelos de IBM.
 La computadora PC original contaba con el teclado "Modelo F" de 84 teclas. De este derivaría el más influyente modelo, el M (extendido y mejorado), de 101/102 teclas, del cual se desprenden los utilizados actualmente.
Aún así no fueron los definitivos, ya que en el Justicialismo de todo existe como en botica. Tal es así, que la locura experimental no tardó en alcanzar su más estrafalario paroxismo con "el acorazado". Se trataba del teclado IBM Modelo F de 122 teclas para la terminal IBM 3270. Este tipo de terminales industriales y de data-entry requerían el uso de una gran cantidad de teclas aún no estandarizadas, y para ellos se desarrolló este fenomenal teclado capaz de requerir un "Mano" del Eternauta para su correcta operación.

Ahora bien, estos teclados son parcialmente compatibles con las IBM PC, pero difíciles de adaptar al uso de los sistemas operativos actuales. Es por ello que la empresa Unicomp ha recreado el mismo en un fiel clon con teclas de resorte basculante, su teclado número de catálogo UB40T56 provisto de interfaz USB (y en esquema negro peronista).


El uso de uno de estos teclados tan provistos puede presentar ventajas a para quien requiera enorme combinaciones de teclas y un astronómico empleo de edición de texto y programación.

Lamentablemente, el uso de este tipo de teclados no está netamente soportado en GNU. Para hacer un uso efectivo, habremos de emplear ciertos recaudos. En particular debemos tener en cuenta dque nuestro sistema debe recibir las instrucciones específicas para saber qué hacer con las las teclas no estandarizadas del Modelo F 122 de Ubicom.

Vean señores, en un teclado estándar, cada tecla del teclado envia electrónicamente un código de tecla único al sistema, el cual, y nuestra computadora debería reaccionar acordemente. Sin embargo esto no es lo procedente en el teclado Unicomp mencionado.

Afortunadamente, mi rol como Conductor del Movimiento Nacional Justicialismo me impone acercar de forma paternalista las soluciones anheladas por las Masas del Pueblo. Por lo tanto volcaré esta sapiencia para que cada argentino lleve en su mochila el bastón de Mariscal.

La primera tarea para usar el Unicomp de 122 teclas con Ubuntu será activar el modo de código de tecla único en el teclado en sí. Para lograrlo debemos abrir el teclado y remover un jumper específico de la plaqueta del mismo. Esto sencillo de hacer: damos vuelta el acorazado, y sacamos los tornillos de la carcasa, removiendo la mitad superior de la misma. La plaqueta quedará expuesta, lo que aprovechamos para buscar debajo de un pequeño microcontrolador integrado, y cerca del LED de Scroll Lock, al Jumper JP3.

Lo removemos tirando hacia arriba y quitando el jumper., y luego volvemos a cerrar el teclado y reponer los tornillos.

Acto seguido será recomendable activar en nuestro GNU con Linux el parámetro de kernel“atkbd.softraw=0”, lo cual podremos lograr a partir de Ubuntu 10.04 abriendo una Terminal con Ctrl+Alt+T e ingresando el siguiente Comando de Organización:

sudo nano /etc/default/grub

Se abrirá el archivo de configuración del arrancador Grub, con nuestros parámetros de configuración. Nos aseguramos de buscar la siguiente variante:

GRUB_CMDLINE_LINUX_DEFAULT=""

.,..y dentro del string entrecomillado, al final del mismo, le agregamos lo siguiente, de modo que quede:

GRUB_CMDLINE_LINUX_DEFAULT="atkbd.softraw=0"

Conforme finalicemos esta edición, guardamos los cambios con Ctrl+o, salimos del editor GNU Nano con Ctrl+x. No debemnos olvidar actualizar el arrancador Grub mediante el comando:

sudo grub-update

Si todo está bien y no devuelve errores, reiniciamos nuestro sistema con:

sudo reboot

(Nota: Si nos devolviese algún error, volvemos a editar el archivo para dejarlo como estaba y volvemos actualizar con sudo grub-update).

Si no hacemos esto, el comando showkey -s solamente nos mostrará los códigos de teclas que ya están preconfiguradas en el kernel, y no las que realmente son enviadas por el teclado. Es posible mostrar los códigos de teclas desconocidos activando el módulo i8042 en modo debug, pero el comando atkbd.softraw hace lo mismo de manera mas efectiva.

La parte molesta del procedimiento es tomar nota de cuáles son los códigos de tecla específicos que envía el teclado Unicomp 122. Ello se sondea con showkey -s y presionando las teclas para ver cada una.

Las teclas convencionales son más o menos parecidas a las estandarizadas por el teclado Modelo M de IBM, el de toda la vida. Sin embargo, existen discrepacias. Os listaré preliminarmente los resultados de mi sondeo específico. ¡Estén atentos que vuestros resultados pueden variar! Este teclado no es estándar y por ello requiere comprobar esto para evitar resultados indeseables con el mismo.

Grupo Tecla Presión Soltar Código de tecla
Teclas de Función

F13 5b db

F14 5c dc 95

F15 5d dd 183

F16 63 e3

F17 64 e4

F18 65 e5

F19 66 e6

F20 67 e7

F21 68 e8

F22 69 e9

F23 6a ea

F24 6b eb
(siguiente fila) F1 3b bb 59

F2 3c bc 60

F3 3d bd 61

F4 3e be 62

F5 3f bf 63

F6 40 c0 64

F7 41 c1 65

F8 42 c2 66

F9 43 c3 67

F10 44 c4 68

F11 57 d7 87

F12 58 d8 88
Teclado numérico izquierdo (La tecla superior izq es “Esc”)

Esc 7e fe 121

Cent 76 f6 85

ImpPant 72 f2

Pausa e1 1d 45 e1 9d c5 119

Imprimir 74 f4

Ayuda 6d ed

Record e0 2a e0 37 e0 b7 e0 aa 99

Play 6f ef

GUI (Windows) 75 f5

Menú 6c ec
Teclado de edición (entre el teclado QWERTY y el teclado numérico)

RetrocedeTab 5a da

Insertar e0 49 e0 c9 104

RePág e0 51 e0 d1 109
(siguiente fila) Blue Return e0 4f e0 cf 107

Supr e0 52 e0 d2 110

AvPág e0 53 e0 d3 111
(siguiente fila) Flecha Arriba e0 48 e0 c8 103
(siguiente fila) Flecha Izq e0 4b e0 cb 105

Inicio e0 47 e0 c7 102

Flecha Der e0 4d e0 cd 106
(siguiente fila) Flecha Abajo e0 50 e0 d0 108
Teclado numérico
(fila superior) Fin 01 81 1

Bloq Desp 46 c6 70
(BloqDesp+Mayús) Bloq Num 45 c5 69

/ 37 b7 55

* e0 c5 e0 b5 98
(siguiente fila) KP-7 47 c7 71

KP-8 48 c8 72

KP-9 49 c9 73

4e ce 78
(siguiente fila) KP-4 41 cb 75

KP-5 4c cc 76

KP-6 4d cd 77

+ 4a ca 74
(siguiente fila) KP-1 4f cf 79

KP-2 50 d0 80

KP-3 51 d1 81

Enter e0 1c e0 9c 96
(siguiente fila) KP-0 52 d2 82

KP-. 53 d3 83
  • Grupo. Para dividir las cosas, he agrupado las teclas en 5 secciones separadas del teclado: las teclas de función, el teclado de la izquierda, el teclado QWERTY, el teclado de edición, y el teclado numérico. Los detalles del teclado QWERTY estarán al final ya que los otros grupos son más interesantes (las teclas del QWERTY funcionan sin problemas).
  • Tecla. Este es la impresión de la tecla en el teclado. Podría ser diferente en distintas variantes, de modo que en todos los casos he iniciado con el teclado desde la parte superior izquierda, y he ido bajando hacia la derecha y abajo..
  • Presión. Este es el código producido cuando la tecla se aprieta.
  • Soltar. Este el el código producido cuando la tecla se suelta.
  • Código de tecla. Este el el código de tecla configurado producido en la consola Linux. Las celdas rojas son valores que son erróneos, pero además hay muchos que faltan pues no se producen con una presión de tecla. Son equivocados porque el código de letras dan un resultado que no se condice con la tecla en sí - en algunos casos peligrosamente erróneos, como AvPg que produce un Supr. Una de las cosas de que debemos tener en cuenta es que DEBEMOS usar el comando "showkey -k" en la consola para obtener los mismos números que tengo. El servidor X parece agregar un 8 a cada código de tecla.
Podremos encontrar ciertas particularidades. F14 y F15 han recibidos códigos de tecla estándares por defecto, de modo que sus códigos de tecla deben coincidir con teclas definidas en los teclados más populares. Y por supuesto, BloqNum y BloqDesp comparten el mismo código lo cual es extraño. Finalmente la tecla Record envía dos toques de tecla en uno.

Corregir las Teclas Erróneas

En primer lugar debemos mapear las teclas que producen un código de tecla que representa una tecla diferente que la que corresponde. Como la tecla marcada como End, que devuelve el código estandarizado de la tecla Esc. He dejado dos de las teclas erróneas de este grupo ya que serán mejor representadas en la próxima sección.

Las teclas erróneas pueden ser corregidas con los siguientes comandos:
 
setkeycodes 7e         1    # Esc
setkeycodes e049      82    # Insert
setkeycodes e051     105    # PageUp
setkeycodes e052     111    # Delete
setkeycodes e053     109    # PageDown
setkeycodes 01       107    # End
setkeycodes 37        98    # KP-/
setkeycodes e035      55    # KP-*
setkeycodes 4e        74    # KP--
setkeycodes 4a        78    # KP-+

He dejado un par de las teclas erróneas de esta sección, ya que no devuelven valores peligrosamente incorrectos, y corresponden de manera más lógica a la próxima sección (las teclas Record y Blue Return).

Configurar las Teclas Extra

Ahora concentrémonos en las teclas extras. La parte difícil fue inventar nuevos códigos de tecla para estas teclas que no entren en conflicto con códigos de teclas previamente existentes, y que además sean razonables. Esto en la práctica es imposible, ya que el comando xmodmap -pk no aparenta mostrar un rango significativo de códigos de tecla no utilizados, aunque algunos de los códigos utilizados se empleen para butones con la orden "comprar" y cosas por el estilo!

De tal manera, que escogemos un rango con el mayor número de teclas no asignadas o inútiles, y los asignamos:
 
setkeycodes 5b       222    # F13
setkeycodes 5c       223    # F14
setkeycodes 5d       224    # F15
setkeycodes 63       225    # F16
setkeycodes 64       237    # F17
setkeycodes 65       238    # F18
setkeycodes 66       228    # F19
setkeycodes 67       229    # F20
setkeycodes 68       230    # F21
setkeycodes 69       231    # F22
setkeycodes 6a       232    # F23
setkeycodes 6b       233    # F24
setkeycodes 72        99    # Record (luego de intercambiar la tecla)
setkeycodes 74       209    # Print
setkeycodes 6d       138    # Help
setkeycodes 6f       239    # Play
setkeycodes 75       234    # Windows (GUI)
setkeycodes 6c       240    # Menu
setkeycodes 5a       235    # Backtab
setkeycodes e04f     236    # BlueReturn

Una vez que hemos cambiado esto, podemos buscar corregir los mapeados bajo el servidor X, que es la causa por la cual F17 y F18 están fuera de secuencia con los de arriba. Una de las teclas tiene que ser (al menos hasta que alguien logre una solución mejor) ordenada con un recambio de teclas. Para ello intercambiamos de lugar la tecla Record y la cambiamos por la marcada PrintScreen” (esto es fácil de hacer pues en los teclados IBM podemos sacar las teclas y ponerlas en otro lugar). Además como el código de teclas de Record efectivamente son dos códigos de tecla en uno, si intentamos remapearlo esto provoca "problemas extraños difíciles de dilucidar".

Corregir el resultado bajo servidor X11

Una vez que hemos configurado los código de tecla que no hacen cosas raras bajo el servidor X (por ejemplo F17 y F18 no producen un código de teclas bajo X11, sino que disparan otro evento), podemos seguir configurando el teclado bajo X según nuestros gustos.

A continuación un intento de mapear lo más fielmente posible las acciones de las teclas sin irnos a los extremos.
 
xmodmap -e "keycode 230 = F13"
xmodmap -e "keycode 231 = F14"
xmodmap -e "keycode 232 = F15"
xmodmap -e "keycode 233 = F16"
xmodmap -e "keycode 245 = F17"
xmodmap -e "keycode 246 = F18"
xmodmap -e "keycode 236 = F19"
xmodmap -e "keycode 237 = F20"
xmodmap -e "keycode 238 = F21"
xmodmap -e "keycode 239 = F22"
xmodmap -e "keycode 240 = F23"
xmodmap -e "keycode 241 = F24"
xmodmap -e "keycode 217 = Print"
xmodmap -e "keycode 9 = Escape 3270_Attn"
xmodmap -e "keycode  93 = cent bar"
xmodmap -e "keycode 175 = 3270_Record"
xmodmap -e "keycode 175 ="
xmodmap -e "keycode 247 = 3270_Play"
xmodmap -e "keycode 242 = Super_L"
xmodmap -e "keycode 248 = Multi_key"
xmodmap -e "keycode 243 = 3270_BackTab"
xmodmap -e "keycode 118 = Insert 3270_Duplicate"
xmodmap -e "keycode 112 = Prior 3270_Jump"
xmodmap -e "keycode 117 = Next 3270_Rule"

Esto nos da como resultado una configuración de teclado que más o menos ofrece los resultados esperados al presionar las teclas correspondientes. Para lograr algunos de los símbolos azules, presionamos la tecla correspondiente en combinación con Mayúscula.

El teclado numérico podría recibir un poco más de atención en cuanto a su mapeado en X, y hay algunos símbolos azules en el teclado QWERTY principal que podrían ser mapeados con mayor utilidad, pero de momento esto es suficiente para el Justicialismo.

Configurarlo fácilmente en un archivo

Una vez comprendido el censado de los código de tecla de este particular teclado y ajustado nuestros anhelos, podremos hacerlo efectivo para nuestro sistema. Lo más práctico es juntar todo en un script que podamos ejecutar, ya sea aisladamente o cuando arranca el sistema (tal vez no recomendado esto, pues desfasaría otros teclados estándares). Si quisiéramos poner en práctica lo primero y dejar un script que deba ejecutarse para usar este teclado Unicomp, podríamos ingresar:

nano ~/teclado_122.sh

Esto abrirá el editor GNU Nano con un archivo en blanco. y le agregamos entonces el siguiente bloque de texto (que engloba los comandos anteriores):

#!/bin/bash
#
# Configuración para el teclado Unicomp de 122 teclas peronista 
# para Ubuntu 10.04 y superior.
# corrección teclas erróneas:
setkeycodes 7e         1    # Esc
setkeycodes e049      82    # Insert
setkeycodes e051     105    # PageUp
setkeycodes e052     111    # Delete
setkeycodes e053     109    # PageDown
setkeycodes 01       107    # End
setkeycodes 37        98    # KP-/
setkeycodes e035      55    # KP-*
setkeycodes 4e        74    # KP--
setkeycodes 4a        78    # KP-+
#configuración de teclas extra del teclado unicomp 122
setkeycodes 5b       222    # F13
setkeycodes 5c       223    # F14
setkeycodes 5d       224    # F15
setkeycodes 63       225    # F16
setkeycodes 64       237    # F17
setkeycodes 65       238    # F18
setkeycodes 66       228    # F19
setkeycodes 67       229    # F20
setkeycodes 68       230    # F21
setkeycodes 69       231    # F22
setkeycodes 6a       232    # F23
setkeycodes 6b       233    # F24
setkeycodes 72        99    # Record (luego de intercambiar la tecla)
setkeycodes 74       209    # Print
setkeycodes 6d       138    # Help
setkeycodes 6f       239    # Play
setkeycodes 75       234    # Windows (GUI)
setkeycodes 6c       240    # Menu
setkeycodes 5a       235    # Backtab
setkeycodes e04f     236    # BlueReturn
#mapeo de teclas en x11
xmodmap -e "keycode 230 = F13"
xmodmap -e "keycode 231 = F14"
xmodmap -e "keycode 232 = F15"
xmodmap -e "keycode 233 = F16"
xmodmap -e "keycode 245 = F17"
xmodmap -e "keycode 246 = F18"
xmodmap -e "keycode 236 = F19"
xmodmap -e "keycode 237 = F20"
xmodmap -e "keycode 238 = F21"
xmodmap -e "keycode 239 = F22"
xmodmap -e "keycode 240 = F23"
xmodmap -e "keycode 241 = F24"
xmodmap -e "keycode 217 = Print"
xmodmap -e "keycode 9 = Escape 3270_Attn"
xmodmap -e "keycode  93 = cent bar"
xmodmap -e "keycode 175 = 3270_Record"
xmodmap -e "keycode 175 ="
xmodmap -e "keycode 247 = 3270_Play"
xmodmap -e "keycode 242 = Super_L"
xmodmap -e "keycode 248 = Multi_key"
xmodmap -e "keycode 243 = 3270_BackTab"
xmodmap -e "keycode 118 = Insert 3270_Duplicate"
xmodmap -e "keycode 112 = Prior 3270_Jump"
xmodmap -e "keycode 117 = Next 3270_Rule" 

Una vez que tengamos el archivo, guardamos los cambios y salimos del editor con Ctrl+o y Ctrl+x. Finalmente lo hacemos ejecutable con el siguiente comando:

chmod +x ~/teclado_122.sh
cd ~
sudo mv teclado_122.sh /usr/local/bin/

De ahora en más, podremos hacer efectivos los cambios ejecutando el script con este comando:

teclado_122.sh