jueves, 29 de septiembre de 2022

Fortalecimiento para Clubes de Ciencia y Tecnología

El gobierno de Argentina a través de su Ministerio de Ciencia y Tecnología anunció el lanzamiento de una iniciativa de préstamos con el propósito de promover proyectos de creación y fortalecimiento de clubes de ciencia y clubes digitales, esta convocatoria invita a los clubes en funcionamiento y a entusiastas que deseen formar clubes a presentar sus proyectos. 

La convocatoria a la presentación de proyectos de fortalecimiento y creación de clubes de ciencia y clubes digitales se realiza en el marco del Programa Juventudes en Ciencia y Tecnología, cuya finalidad es animar la participación activa de las y los jóvenes en los distintos ámbitos del sistema científico-tecnológico, en conjunto con la Red Nacional de Clubes de Ciencia, que promueve el intercambio de saberes y experiencias entre integrantes de los clubes, y entre los clubes y la comunidad científica, fomentando la pertenencia a la comunidad nacional de clubes y la capacitación de sus docentes asesores.

 Los objetivos de la iniciativa son:

  • Contribuir al fortalecimiento de los clubes de ciencia de todo el país.
  • Promover la apertura de nuevos espacios no formales para el desarrollo de actividades científicas y tecnológicas en niñxs y jóvenes de todo el país.
  • Incentivar a las comunidades científicas, universitarias y educativas jóvenes a desarrollar espacios para la realización de actividades en torno a temas de ciencia y tecnología, de manera recreativa, y así promover las vocaciones científicas.
  • Fomentar la realización de actividades abiertas a todo público por parte de los clubes de ciencia y clubes digitales de cada comunidad.

 Los objetivos cuentan con dos modalidades. La principal involicra refuezo monetario (por un valor de hasta 950 mil pesos) a clubes preexistentes, y podrán ser presentados por:

  • Clubes de ciencia y/o digitales inscriptos en el Registro Nacional de Clubes de Ciencia con al menos 6 meses de antigüedad.
  • Clubes de ciencia y/o digitales con personería jurídica.
  • Clubes de ciencia y/o digitales pertenecientes a alguna red de clubes de Argentina con, al menos, 6 meses de antigüedad.


La segunda modalidad implica la Creación de clubes de ciencia (solventándose de esta manera hasta 500 mil pesos.

Las propuestas deberán estar enmarcadas en objetivos que promuevan actividades en torno a temas de ciencia y tecnología por fuera de la dinámica escolar, contribuyendo a la alfabetización científica y tecnológica del grupo y la comunidad, de acuerdo a los objetivos de la presente convocatoria.


Además, se valorará que las propuestas contemplen el compromiso con su comunidad, que planeen la activa participación de los y las integrantes del club en el proyecto, que sean compatibles con el desarrollo sustentable y el cuidado por el ambiente, o que consistan en proyectos de ciencia ciudadana.

Los clubes de ciencia se pueden registrar oficialmente aquí. Estos proyectos de creación deberán ser presentados por equipos que tendrán que cumplir las siguientes características:

  • Estar conformados por al menos una persona mayor de 18 años, responsable de coordinar y llevar adelante las tareas del club de ciencia o club digital.
  • Reunir un grupo de personas que formarán parte del club de ciencia o club digital de, al menos, 15 personas. En casos excepcionales, debidamente fundamentados, podrán aceptarse grupos de menor cantidad de personas.
  • Contar con un espacio físico para poder llevar adelante las actividades del club. Este espacio podrá ser una biblioteca popular, un bachillerato popular, una sociedad de fomento o club barrial, un centro cultural, una institución educativa, una asociación civil, un espacio cedido por gobiernos municipales, provinciales o nacionales, o un lugar privado.

lunes, 12 de septiembre de 2022

¿Cómo puedo hacer un respaldo remoto con rsync en Ubuntu?

En 1969 y ante una entrevista para el períodico El Pueblo, Juan Perón expone en los jardines de la madrileña Quinta "17 de Octubre" cómo realizar respaldos remotos a través de SSH utilizando rsync en Ubuntu.

(...)

Con Isabelita nos mantemos actualizados instantáneamente de todo lo que sucede en la Argentina.

Todos los Movimientos replican la biología de los entes vitales que lo componen. En esto nadie tiene asegurado nada y es por ello que - conociendo este cariz inevitable - hemos de prever para proveer. Contar con un plan de contingencia de propia elaboración es la política que nos permite, en la desgracia, salir adelante remozados.

Dejar todo para último momento sólo nos asegurará una costosa improvisación desprendida de nuestros propios instintos, pero no de nuestros intereses razonables, y como tal suelen ser - por remedio - peor que la enfermedad.

Pues bien señores, un sistema GNU con Linux responde más o menos a las mismas directrices, ya que se trata de un sistema nacido en la consolidación de las voluntades informáticas del Pueblo.

En él, suelo normalmente recomendar diseñar una estrategia propia de previsión tendiende a conservar el funcionamiento del entorno y asegurar la preservación perenne de los datos propios, de un punto de vista en el que la  granularidad de la conservación en el tiempo también nos permitan mantener el sistema doctrinalmente actualizado. 

Así he obrado yo, que de esto se un poco, porque como político soy un aficionado, para lo que me he formado toda la vida es para ser un Conductor.

Usualmente es adecuado recurrir a la preservación por redundancia.

En GNU podremos lograrla preservando en medios de almacenamiento adicionales todo el trabajo elaborado y organizado.

Algunos oligarcas han pretendido proponernos como solución aquello a lo que estos vivos denominan "nube", que no es otra cosa que un equipo de cómputo ajeno. Sólo un tonto haría caso a este engaño para depositar sus datos en un servidor remoto que para colmo de males es ajeno y sobre el cual no tiene control real alguno. 

Si la seguridad ha de hacerse de manera remota, más vale que lo sea sobre medios de almacenamiento y equipamiento que se encuentren bajo nuestro exclusivo control. Nadie duda ya que lo más útil en ambientes productivos de gran disponibilidad es contar con múltiples discos duros en una máquina que conoceremos como servidores RAID. Proceder así nos permitirá contar con duplicación, triplicación o incluso cuadruplicación de datos en el mismo momento que se los genera. Este proceder podría parecer exagerado a más de uno, pero es lo que alguien con respeto por su trabajo y dos dedos de frente haría. Al fin y al cabo,  un disco rígido vale chirolas si lo comparamos con la información que resguarda. Por lo demás, contamos ya con sistemas NAT ya hechos, que pensando en este cometido pueden enlazarse a nuestra red LAN, dejando al alcance varios discos SATA de replicación automática.

Sin embargo, incluso podremos hacer respaldos de manera simplificada. Para ello, cualquier sistema GNU puede contar con rsync. Se trata de una aplicación que nos permite sincronizar los datos remotos en un directorio de otro sistema de acceso SSH (ya sea en la red LAN o a través de Internet).

Su sintaxis básica es:

rsync origen destino

Naturalmente, el comportamiento estándar de rsync de copiar y actualizar los ficheros desde el origen hacia el destino replica la necesidad del respaldo de ficheros. En otras palabras, rsync copiará solamente los ficheros nuevos o, en el caso de existir una copia de respaldo previa, sólo aquellos actualizados (modificados) . Al proceder tras este análisis automático, rsync se nos presenta increíblemente útil pues ahorra mucho ancho de banda y acelera enormemente la operación, deslindándose de trabajar ficheros ya respaldados.

Respaldo básico con rsync

Lo que se necesitamos para respaldar un directorio /home de forma remota, es otro sistema destino provista con SSH (y suficiente espacio de disco de destino como para almacenar nuestros ficheros allí), y rsync instalado en nuestro sistema local.

Podríamos querer agregar primero la opción "-n" al comando de rsync mientras preparamos todo y probamos. Esta opción hace que rsync realice una "prueba piloto" ejecutando el comando y produciendo salida en la terminal, sin que realmente manipule fichero alguno.

Utilizaremos rsync para conectarnos desde nuestro cliente (la máquina donde queremos almacenar la copia respaldo) a la máquina remota (donde tenemos el original). Para ellos indicamos la siguiente sintaxis:

rsync -avz -e ssh /ruta/origen/a/respaldar usuario:maquina.remota:/ruta/remota/destino

en donde la opción -a indica el modo "archivada", que retiene las fechas y horas, información de propietario y grupo, y espeja recursivamente, compiando enlaces simbólicos como enlaces, etc (si quisiéramos copiar el referente del enlace, tenemos que incorporar también -L. La opción -v es verbosa e irá indicando cada fichero copiado. La opción -z comprime los datos enviados. La opción -e indica el tipo de intérprete a utilizar (en este caso, shell seguro SSH). usuario es el nombre de usuario en la máquina remota.

Por ejemplo, para copiar todo nuestro directorio /home de nuestro sistema GNU con Linux a una máquina remota, utilizaríamos el siguiente comando de organización:

rsync -avz -e ssh /home/$USER usuario@maquina.remota:/ruta/destino 

Naturalmente, al utilizar SSH, rsync nos solicitará la contraseña de la máquina.remota, y comenzará a copiar, reportando cada fichero. Una vez completado el procedimiento de respuesta al pedido de copias, rsync nos presentará estadísticas tales como la cantidad de bytes transferidos y la velocidad promedio.

Podremos utilizar este comando subsecuentemente. Lo más importante de este proceder será que rsyncs sólo respaldará los ficheros que subsecuentemente hayan cambiado y aquellos nuevos, lo cual es muy útil para mantener actualizado los respaldos de todo tipo.

Restaurar un respaldo

Para restaurar un archivo único desde la copia respaldo, podremos utilizar scp para transferirlo desde el directorio de respaldo local al directorio requerido en la máquina remota.

Ahora bien, para restaurar el respaldo al completo, simplemente indicamos el mismo comando anterior, pero invirtiendo el orden, pasando desde el directorio del respaldo a la máquina destino y origen, de la siguiente manera:

rsync -avz -e ssh usuario@maquina.remota:/ruta/origen/respaldo /ruta/respaldo/local

Como se ve, debemos ser cuidadosos de omitir la barra / al final de directorio. Al omitirse la barra, toda la estructura del directorio origen resultará recreada en la máquina remota (tal es el motivo por el cual la hemos omitido). 

Nota: Si bien en Unix es opcional agregar una / para especificar un directorio, en el caso específico de rsync si hubiésemos especificado una barra la estructura de directorios se replicaría desde el directorio dado (por ejemplo, el comando rsync -avz- e ssh usuario@maquina.remota:/ruta/al/home /directorio/respaldo/local/ producirá el respaldo adentro de /directorio/respaldo/local/ruta/al/home en la máquina.remota).

La opción --delete

También han comprendido ya que el comportamiento estándar actualiza ficheros en el destino, por lo cual el borrado de los mismos en el directorio origen no hará lo mismo en el de destino

Sin embargo, si quisiéramos que los ficheros removidos en el origen resulten también borrados en el destino, debemos agregarle el prefijo  --delete.

Por ejemplo, para hacer una actualización de los archivos borrados de un respaldo de la carpeta de usuario ~/Música situadas un pendrive USB llamado "PENDRIVE", usaríamos:

rsync -va /home/$USER/Música /media/$USER/PENDRIVE/ --delete

Como se indicó, el comportamiento estándar de rsync -a es copiar los enlaces simbólicos como enlaces. Para que esto no se produzca y se copien también los destinos de dichos enlaces simbólicos, debemos agregar la opción -L luego de la opción -a.

sábado, 3 de septiembre de 2022

¿Cómo puedo adoctrinarme cada vez que abro una terminal en Ubuntu?

Reunido en la Plaza de Mayo ante 8 millones de trabajadores, Juan Perón instruyó como adoctrinarse cada vez que se abre una Terminal en Ubuntu.

¡Trabajadores!

Hemos de decompilar ese software privativo y liberarlo. Esas consignas que mas que mías son de la Comunidad Organizada, la defenderemos hasta el último byte.

Sabemos claramente que para sobrevivir, los Movimientos requieren de un ideólogo y diez mil predicadores. Estos son los encargados de copiar en su mente y replicar en todo ambiente el mensaje, constituyendo la base de acción sobre la que se acrecienta un Movimiento.

En un sistema de cómputo como lo es GNU con Linux esto es sumamente sencillo pues facilita incluso lo de dar un discurso: la carga ideológica está, simplemente hay que copiarla. Además, los predicadores también pueden crearse en base a una simple aplicación que automatice este recurso tan humano como es parlotear.

Para ello abrimos una terminal con Ctrl+Alt+T e instalamos fortune-es (si no lo hubiésemos hecho antes).

sudo apt-get update ;
sudo apt install git fortune fortunes-es cowsay xcowsay

Tras ingresar nuestra contraseña de Conductor se descargará tal inefable programa. Normalmente ingresando:

fortune

...nos devolverá un aforismo en la terminal.

Sin embargo, para elevar nuestra conciencia para los tiempos que corren, debemos actualizar tales frases con unas adicionales de exacerbada carga ideológica. Con tal fin descargaremos el Estatuto del Hacker.

cd /tmp ;
git clone https://github.com/ubuntuperonista/Estatuto-del-Hacker/ ;
sudo cp /tmp/Estatuto-del-Hacker/fortunes/doctrina_linux /usr/share/games/fortunes/es/doctrina ;
sudo cp /tmp/Estatuto-del-Hacker/fortunes/rms_linux /usr/share/games/fortunes/es/rms ;
sudo cp /tmp/Estatuto-del-Hacker/cows/*.cow /usr/share/cowsay/cows/ ;
cd /usr/share/games/fortunes/es/ ;
sudo strfile /usr/share/games/fortunes/es/doctrina ;
sudo strfile /usr/share/games/fortunes/es/rms ;
sudo cp /tmp/Estatuto-del-Hacker/doctrina.sh /usr/local/bin/doctrina ;
sudo cp /tmp/Estatuto-del-Hacker/rms.sh /usr/local/bin/rms ;
sudo chmod +x /usr/local/bin/doctrina /usr/local/bin/rms ;
sudo cp /tmp/Estatuto-del-Hacker/actualizar_doctrinas.sh /usr/local/sbin/actualizar_doctrinas ;
sudo chmod +x /usr/local/sbin/actualizar_doctrinas

Como uso básico, podríamos recibir una frase de adoctrinamiento al azar ingresando en la terminal:

doctrina

...o bien llamar a fortune con el fichero doctrina.

fortune doctrina

Pero podríamos hacerlo más interesante, emitiendo un comando entubado que nos borre la terminal y nos presente una frase de adoctrinamiento al azar, junto con la gráfica ASCII del Movimiento:

clear ; fortune doctrina | cowsay -f pocho


Naturalmente en vez de -f pocho podremos probar con otros personajes ASCII. Usando -f vacapiloto, recibiremos la vaca hacker, inefable símbolo de Huayra GNU/Linux, el sistema operativo oficial de Conectar Igualdad. Existen muchos personajes ASCII; podremos encontrarlos en /usr/share/cowsay/cows/.

Incluso si lo deseamos, tras resguardar el fichero de autoejecución estándar .bashrc, podríamos agregar tal orden al final de dicho fichero, de modo que nos adoctrine toda vez que abrimos una terminal:

echo "clear ; fortune doctrina | cowsay -f 17oct" >> ~/.bashrc

(Si no quisiéramos que borre la pantalla antes, le quitamos el clear &&).

De esta forma, al abrir una terminal nos refrescaremos con la parafernalia necesaria.

Gracias a los caños, quien tenga el sintetizador de habla espeak incluso puede utilizarlo para oír estas frases robotizadas, de esta forma:

doctrina | espeak

Esto es adecuado para la operación de la terminal. Pero también podremos encontrar un aplicativo gráfico, destinado al escritorio. Se trata de xcowsay, que junto con los personajes locales de xvaca cumplen dicha misión al pelo. Para instalarlo ingresamos el siguiente bloque de comandos de organización:

cd /tmp ;
git clone https://github.com/ubuntuperonista/xvaca/ ;
sudo cp /tmp/xvaca/xvaca /usr/local/games/;
sudo cp /tmp/xvaca/assets/*.png /usr/share/xcowsay ;
sudo chmod +x /usr/local/games/xvaca

Para lanzar la aplicación podemos usar el comando xvaca

También podemos modificar las opciones del fichero  /usr/local/games/xvaca (podremos asignar los personajes gráficos situados en /usr/share/xcowsay).

En cualquier caso, las doctrinas reciben cada tanto una actualización doctrinaria. Para hacerla efectiva ingresamos:

sudo actualizar_doctrinas

El sistema las descargará y actualizará en meros segundos, presentándonos una para confirmar que todo salió bien:

 De ahora en mas, podremos instruirnos con la doctrina del Justicialismo Hacker.