miércoles, 8 de diciembre de 2021

Festival de Cultura Digital en Tecnópolis

Este 11 y 12 de diciembre se realizará el Segundo Festival de Cultura Digital Cyberciruja, la gran fiesta de la Resistencia Digital contra los enemigos del Cómputo Libre. Justo y Soberano.

En una demostración de masas, hackers y hackeresas del campo popular se reunirán en su forma física a compartir datos y experiencias. El lugar será el predio de Tecnópolis (Buenos Aires, Argentina).

Como un tifón de bytes, se proponen una serie de actividades. Individualidades identificadas telemáticamente como Don Epifanio, Arlequin y Mr. Roboto harán el boot inicial del evento, ofreciendo cátedra teórico práctica presencial sobre Arte con Caracteres computados.

El evento de adoctrinamiento principal sobre tecnopolítica se dará a continuación, donde tod@s podrán recibir un update de firmware cerebral ideológico opcional. El primer día cierra con un show musical psicodélico apto para el levante de red a cargo de l@s chiptuners CID Smplor (sonido 8bit) y PETSCIÍcola (visuales).

El día siguiente los floppy atronarán en un taller de Voxel Art a cargo de Shining Monster.

Diamante y Soldán disertarán sobre la experiencia cyberciruja, donde hardware es descamisado y dignificado con actualizaciones doctrinarias para la toma del poder.

Y finaliza con un gran show con compilación sorpresa.

Entre las propuestas participativas se contarán con LAN Party de juegos en red y actualizaciones in situ.
















martes, 30 de noviembre de 2021

¿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

martes, 23 de noviembre de 2021

¿Cómo emulo una PDP-8/I 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. 

Permitía a varios usuarios emplear esta máquina de 12 bits, pero con una cómoda terminal teletipo de manera local, o bien con un muy caro conmutador paralelo se podían utilizar terminales remotas gracias a los enlaces modulados por un acoplador telefónico.

El TSS/8 requería una PDP-8, 8/I u 8/E, pero potenciada 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 almacenamiento de masa. 

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.

La distancia que pone el tiempo de evolución ha podido suplir estos aspectos con creces, y permite a todos los Descamisados el estudio del Arte. Nuestro sistema GNU con Linux puede ser adaptado - por genialidad maquinal - para emular todo tipo de máquinas, 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. Esta 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 !/!>  <W>  [               ]]]]]"
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).

Otros Comandos

Estos son algunos comandos extras (atajos de pocos caracterers
 
.ASSIGN x (presumo que asigna algún tipo de dispositivo)
.BREAK x .BRO-ADCAST string (sólo funciona desde la cuenta 0,1)
.CLOSE (Cierra un usuario)
.DEPOSIT x y (Deposita en memoria en la dirección x el valor y)
.DUPLEX (Modo duplex)
.EXAMINE x x (Examina desde dirección x a dirección y:límite-10)
.FORCE kb string (Fuerza al teclado # con la cadena con ^como controles)
.KJOB (elimina trabajo - Lo mismo que correr LOGOUT)
.LOAD x (Carga la memoria con el programa x)
.LOGIN (Permite ingresar al sistema)
.LOGOUT (Sale del sistema) 
.RELEASE (presumo que suelta el dispositivo asignado)
.RESTART x (Muestra o resetea la dirección de inicio)
.RUN ACCT PROG x (Corre el programa x desde la cuenta PPN en la dirección x)
.S (No parece hacer nada),
Ctrl+B,S detiene un programa)
.START x (Inicia un programa o reinicia un programa sin Offset de octal)
.SWITCH x (probablemente carga un registro de conmutación con un valor dado)
.SYSTAT (corre el programa SYSTAT)
.TALK kb string (Envía un mensaje al teclado K##)
.UNDUPLEX (Desactiva Duplex)
.USER x (Show the account and keyboard for Job x)
.VERSION (Presenta la versión de TSS/8)
.WHERE (Muestra todos los valores de registro de conmutación)

Abandonar la sesión

Como vemos, 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

domingo, 14 de noviembre de 2021

¿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;  debe desplegar tanto su espíritu consubstanciado con la naturaleza, como sus herramientas de pique y sus armas.

Es que sus instrumentos de lucha son todos, y debe saberse productor de la simbiosis que lo transformará en un 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 podrá 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, simada a la voluntad propia 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://ftp.br.debian.org/debian/pool/main/r/rust-exa/exa_0.9.0-5+b1_amd64.deb ;
sudo dpkg -i
exa_0.9.0-5+b1_amd64.deb

Tras ingresar nuestra contraseña de Conductor, se cargará 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.

jueves, 4 de noviembre de 2021

¿Cómo instalo el navegador Mosaic en Ubuntu?

Ante la representación del gremio de estibadores, Juan Perón expone cómo considerar el uso de herramientas, y cómo instalar el primigenio navegador de internet NCSA Mosaic en Ubuntu.

 (...)

¡Trabajadores!

La utilidad en el avío es una de las cosas que debe comprender el soldado, pero también el Conductor. Es que el herramental no siempre es ilimitado, sino que debe administrarse en previsión del escenario que habremos de enfrentar.

Determinarlo requiere una preparación que da la instrucción, pero sobre todo la experiencia y el sentido común sin el cual no somos nada.

Vean señores, 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, perito explorador que acercó la web a las Masas Populares, que son el verdadero consumo.

Este por entonces novedoso software venía incluido en un disquete 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. Si bien contaba ya con versiones para Unix y Macintosh, es sin duda la compilada para el Window$ 3.1 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.

Si bien existían por entonces las ampliamente difundidas carteleras electrónicas y muchos otros servicios de datos de alcance local, lo cierto es que el veloz y conveniente despliegue de  global de los servidores de internet convirtieron muy rápidamente a la "Telaraña" en una aplicación rompedora para todos los trabajadores argentinos. La inclusión de hiperenlaces permitían recabar copias de la información pública entre distintos sistemas con un mero clic de ratón y a costo de llamada local, toda vez que la inclusión de alguna que otra imagen a color muy comprimida otorgaba una ventaja muy notable sobre la mayoría de los anteriores esquemas telemáticos. Fue esto, y el anhelo comercial desmedido e injustificado presentado por ciertos operadores de BBS lo que llevó a su rápido colapso y práctica extinción a para 1996.

Los caminos de la evolución sin embargo deben poder recorrerse en cualquier momento. 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

Otra manera es compilarlo:

sudo apt-get install git build-essential libmotif-dev libjpeg-dev libpng16-16 libxmu-headers libxpm-dev libxmu-dev ;
git clone https://github.com/alandipert/ncsa-mosaic ;
mv ncsa-mosaic/ .ncsa-mosaic/ ;
cd
~/.ncsa-mosaic/ ;
make linux ;
cd ~/
.ncsa-mosaic/src/ ;
sudo cp Mosaic /usr/local/bin/

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. o lo ejecutamos con el comando:

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. Podríamos, por ejemplo, ingresar a la primer página web http://info.cern.ch.


También cuenta con una web integrada de publicidad del proyecto NCSA que lo acogía.

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 remove mosaic

Y con ello habremos liberado algo de espacio y nuestras conciencias del pasado.

domingo, 24 de octubre de 2021

¿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:

<a href="https://asciinema.org/a/14"><img src="https://asciinema.org/a/14.png" width="836"/></a>

Markdown:

[![asciicast](https://asciinema.org/a/14.png)](https://asciinema.org/a/14)

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:

<a href="https://asciinema.org/a/14?autoplay=1"><img src="https://asciinema.org/a/14.png" width="836"/></a>

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:
<script src="https://asciinema.org/a/14.js" id="asciicast-14" async></script>

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:

<p>Este es un texto.</p>
<script src="https://asciinema.org/a/14.js" id="asciicast-14" async></script>
<p>Este es otro texto.</p>

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:

<script src="https://asciinema.org/a/14.js" id="asciicast-14" async data-autoplay="true" data-size="big"></script>

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 guion adosado (data-speed="2" data-theme="tango").

Tiempo

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

Columnas

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.

Filas

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.

miércoles, 6 de octubre de 2021

¿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. T 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. Cuando nosotros terminamos de pagarlo, se habían pagado doce millones. ¡Imagínense el robo que representaban los empréstitos, que por un millón de libras 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 cabe 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 redistributiva y para investigación, desarrollado en los Laboratorios Bell a 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 deseosos de continuar punteando su desarrollo a lo largo de los años y hasta la la actualidad.

En mi caso, utilizo una distribución moderna libre del mismo, denominada 9front.

El fundamento principal de Plan9 es precisamente constituir un clúster de redistribución de potencia de cómputo que adverse a la noción de la computación individualista o personal. 

Normalmente se lo utilizaba con una terminal gráfica tipo 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 al mainframe, 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 build-essential git libx11-dev libxt-dev ;
cd /tmp ;
git clone git://git.9front.org/plan9front/drawterm ;
mv /tmp/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/

Inmediatamente podríamos crear ya 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, tras unos 10 segundos tendremos el sistema gráfico en línea, con una ventana disponible para trabajar y el monitor de uso.

Encontraremos una ventana con el prompt cpu% del intérprete de comandos de Plan9: rc.

Trabajo en la máquina virtual Plan9

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

Pôdremos asociar los binarios de SDF.org para extender el uso del entorno con:

bind -a /usr/sdf/bin /bin

Entre ellos encontraremos los servicios de finger, com, bboard, gemini, y varios mas.

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.

Podrán encontrar instrucciones en este paper (en inglés).

Nota: Naturalmente, ha de ser extremadamente cuidadoso al operar con este tipo de adminículo. Podrá destruir su sistema si lo desea desde Drawterm.


domingo, 26 de septiembre de 2021

¿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 pkg-config make xutils-dev libtool xserver-xorg-dev libx11-dev libxi-dev libxrandr-dev libxinerama-dev libudev-dev
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.

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