Termino algún proyecto

o un fragmento de algún proyecto
o un fragm
y abro una terminal
para tener acceso a la línea de comandos
de linux

dirijo la ubicación
a la ruta sobre la que está montado
el disco de backup
y ejecuto el script
que lleva a cabo la sincronización
de las carpetas que incluyen aquella
sobre la que haya estado trabajando

dirijo la ubicación
a la ruta sobre la que está montado
un pendrive
con ciento veintiocho gigabytes
de capacidad
y ejecuto el script
que lleva a cabo un fragmento de la sincronización
de las carpetas que incluyen aquella
sobre la que haya estado trabajando

cierro
tecleando un comando de salida
la terminal abierta

siento cierta satisfacción
creyendo que controlo algo de la incertidumbre
que acarrea el futuro
creyendo que lo que guardo
es digno de guardarse
para una posteridad sorda

siento cierto poder
cierta sensación de dominio
cierto orgullo rayano en la pedantería
por el conocimiento de un lenguaje
con el que hacerme entender por una máquina
olvidando
que no domino el lenguaje
con el que hacerme entender por un humano

tras la pequeña excursión
pienso en comenzar otro proyecto
o un fragmento de algún proyecto
que esté fraguando

y así
día tras
día.

Los virus aprenden a escribir

Lo más preocupante de que un virus aprenda a escribir es que ya no puedes fiarte de ese instinto que te dice que si un correo electrónico viene con muchas y extrañas faltas ortográficas muy probablemente se trate de un correo peligroso, SPAM o troyano.

Hoy he recibido un par de emails con un asunto sorprendentemente bien escrito:

Espero que estés pasando un día fantástico

y un contenido también bien redactado, incluso haciendo uso de negritas en los lugares adecuados:

¡Es una oportunidad que no debes desaprovechar!

Indicaban que te convenía pinchar en un enlace de bit.ly (esto ya es sospechoso de por sí, pero hay gente que usa acortadores de URL algo inapropiados)

https://XXXbit.ly/3XXXX526XXXXWVh

Si quitas las X aún puedes ir a ver lo que aparece ahí, bajo tu responsabilidad o irresponsabilidad.

Yo, curioso con estas cosas, por viejos hábitos que no hacen al monje, quise ver qué había en ese enlace con la mayor de las seguridades posibles, así que en una máquina virtual Linux (que no tiene acceso a ninguna de las carpetas del anfitrión) dentro de mi sistema principal Linux habilité la compartición del portapapeles bidireccionalmente (lo que ya me pareció un riesgo alto, pero me dio pereza teclear la dirección manualmente), en esa máquina abrí un firefox y lancé a copiar la URL en cuestión, encontrándome que me dirigía a una web que no tiene una pinta muy maliciosa:

salvo para personas incautas que crean que si no pagan en esa pantalla van a tener algún problema. Navegué por otras páginas y cerré esa pestaña sin el más mínimo problema… aunque no probé con otros navegadores quizá más expuestos, móviles incluidos, pues mi curiosidad tiene un límite.

Cuando el diablo no sabe qué hacer con el rabo mata moscas

Dice el dicho.

Y yo me dedico a ver las tripas de una web como si no hubiese nada importante que hacer.
Quizá porque nada de lo que últimamente hago me parece importante.
Quizá porque nada me parece importante.
Quizá.

Hoy mi alumna Kay Woo, de quien tanto aprendo, nos ha presentado su preciosa web nueva https://www.kaywooart.com/ y me he puesto a curiosear sus entresijos, que lo ha hecho más difícil de lo normal con la típica obstrucción a la utilización del botón derecho del ratón, posiblemente con intención de que no se pueda descargar imágenes o similar, pero ya sabemos que eso siempre me resulta un reto, así que he descargado algunas de sus páginas para ver de qué manera lo impedían, esperando encontrar en el código algunas pistas de cómo estaba hecha.

Curiosamente, no era otra plantilla de wordpress, de las que tanto abundan, casi hasta en más de un tercio de mi propia web, sino que no podía identificar claramente cómo estaba hecha (salvo que usaba mucho javascript paquetizado) y lo único que he visto para saber de dónde provenía era un dominio al que se hacía referencia de cuando en cuando llamado cloudfront.net, que parece ser que tiene algo que ver con AWS CloudFront, pero puede que no sea propiedad de Amazon, sino tan solo algún tipo de herramienta compartida por ambos.

Pues según Kay estaba hecha en una plataforma denominada Portfoliobox que he de reconocer que tiene una pinta estupenda para plantillas sofisticadas y sencillas al mismo tiempo.

Lo que está claro es que los tiempos de programar webs (si es que alguna vez se llamó así) han muerto completamente en aras de plantillas más o menos personalizables que permiten hacer verdaderas virguerías como la elegantísima web de Kay Woo sin las complejidades innecesarias de bregar con programadores, codificaciones, etc… que dan más problemas que ventajas, por mucho que yo siga siendo un dinosaurio de la vieja guardia y renuncie a hacerlas si no es vía VI sobre Linux…

¡Ay, cuánta torpeza hay en la nostalgia o la cabezonería!

CD o DVD

Hoy estoy perdiendo el tiempo en busca de fuentes para obtener el número de personas sobre la faz de la tierra y ver la manera de convertir esa cifra en un número de bits que almacenar en un soporte como puede ser un CD o un DVD.

El objetivo sería escribir tantos bits como personas hay en el planeta (puedo caer en el «binarismo» de asignar 0 a un sexo y 1 al otro, o ignorarlo) en un CD e ir generando CDs con las estimaciones de Personas Vivas sobre la Tierra cada cierto periodo de tiempo.

He encontrado una fuente importante de datos en la ONU, como si fuese un organismo útil, pero no encuentro la manera de acceder a esos datos desde línea de comandos, lo que me encantaría.

Tampoco sé la manera de escribir un archivo en linux directamente en código binario, escribiendo bits y no bytes. Tendré que repasar la rama dura de la programación en C o en ensamblador.

Creo que lo que intento es tan ridículo como habitualmente hago, pero no por ello quiero dejar de hacerlo.

Repositorios microsoft en RaspBerry Pi con Raspbian

Desde que tengo mi Raspberry PI 3, he instalado diversas cosas, pero no recuerdo haber instalado nada de Microsoft ni por asomo. Sé que Raspbian no un Debian puro, pero de ahí a que me añadan un repositorio de Micro$oft… creo que va un abismo.

Así que estoy desando tener algo de tiempo libre para instalar mi servidor web y blog de backup o de desarrollo en un Debian puro sobre Raspberry, que sé que es posible, aunque aún no he encontrado ese huequito temporal.

No es algo que me preocupe mucho, pero he de reconocer que me molesta hacer tan siquiera un ping a un servidor de la empresa en cuestión.

Configurar mail/mailx en Linux

He pasado un par de días, desde que hube de formatear mi Linux Mint 19.3 para actualizarlo a Linux Mint 20.1 recuperando pequeñas personalizaciones que había hecho en el PC.

Una de ellas es la herramienta (script) de realización de BackUps que, entre otras cosas, me envía por correo electrónico diariamente el resultado de la sincronización realizada.

Lo uso desde hace más de 10 años y lo he ido perfeccionando con el paso del tiempo. Entre otras cosas, ahora lo ejecuto con un «cron«, de línea de comandos, que hace una llamada al programa en cuestión y envía el correo informativo utilizando el programa mail del sistema operativo.

Pero he tardado mucho en configurarlo.

No recordaba qué había que hacer para que funcionase, pero, tras unas cuantas horas, lo he logrado con un par de cosas sencillas que no sé muy bien porqué no tenía apuntadas.

Tenía una restricción, más o menos tonta autoimpuesta, que era que no quedase abierto un servidor SMTP (ni su puerto 25) permanente en el PC (obsesiones absurdas de seguridad), así que algunas de las soluciones que pasan por instalar un MTA como Sendmail o Postfix estaban descartadas. (Aunque también las probé, ya cuando empezaba a desesperar)

Por más que intentaba configurar mailutils (que incluye mail/mailx) no conseguía enviar un correo fuera del equipo, utilizando una cuenta de correo personal en mi hosting preferido (giusseppe.net). Creo que revistando la información del manual de mailutils sí que habría sido posible enviar correos sin que fuese preciso instalar nada más, pero no daba con la forma, así que probé con alternativas a mailutils, como era s-nail, pero me daba resultados no deseados y algunas configuraciones que había que hacer no me apetecía tenerlas así.

Finalmente, instalé sSMTP y su configuración fue trivial:

sSMTP es un programa que entrega correo electrónico desde un ordenador local a un servidor de correo configurado (mailhub). No es un servidor de correo (como si lo es el servidor de correo rico en funciones sendmail) y no recibe correo, ni expande alias, ni administra una cola. Uno de sus usos principales es reenviar el correo electrónico automatizado (como las alertas del sistema) desde su equipo a una dirección de correo electrónico externa.

Por supuesto, tenía que instalar el pequeño programita mailutils que serviría para los comandos mail/mailx. No he optado por ninguna de las alternativas que no aportan nada que me sea útil. (No obstante, también se puede enviar correo sólo usando sSMTP, pero no se dispone del comando mail)

Para instalar ambas utilidades, bastaba un simple:

sudo apt-get update && sudo apt-get install ssmtp mailutils

 

Y después proceder a configurar el fichero /etc/ssmtp/ssmtp.conf con lo siguiente:

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=jmdomin@giusseppe.net

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=mail.giusseppe.net:587
AuthUser=jmdomin@giusseppe.net
AuthPass=LAFAMOSACONTRASEÑA
UseSTARTTLS=YES

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname
hostname=giusseppe.net

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
#FromLineOverride=YES

 

Ahora mis correos salen estupendamente y lo puedo poner a prueba con un simple:

echo "Este es el cuerpo del mensaje" | mail -s "Este es el subject" jmdomin@gmail.com

Recortar una imagen desde la línea de comandos

A veces tomo una fotografía y parte de lo que hay en los laterales me sobra. Especialmente cuando hago muchas, como una serie de imágenes captadas desde el móvil con un dispositivo disparador bluetooth que evite que toque el teléfono y provoque temblor o distorsión en la imagen.

El viernes pasado estuve trabajando sobre unas imágenes de «blackout-poetry» que había hecho y eran más de 40, así que no era muy razonable ir abriéndolas con GIMP y buscar el mismo corte, pues era el mismo corte, en todas y cada una de ellas.

En cuanto tengo que hacer algo más de 5 veces seguidas, pienso si existe una manera «automática» o más eficaz de tratar la serie. Que puede no serlo en pequeñas series, pero que me permite ir aprendiendo por si alguna vez necesito aplicar el mismo procedimiento en una serie más numerosa.

En esta ocasión, gracias a un tutorial que he encontrado en internet sobre cómo recortar imágenes en línea de comando con Imagemagick, recurrí a un utilísimo comando o programa linux que ya había usado con anterioridad, pero en esta ocasión para aplicar un corte o «crop» a las imágenes que con esta sencilla línea quedaron como las quería:

mogrify -crop 1800x3100+190+280 *

Transformando imágenes de 2250×4000 en una imagen recortada a partir del pixel 190 de la izquierda (la x) y 280 pixels hacia abajo (la y), con un nuevo tamaño: 1800×3100, despreciando lo que no esté ahí.

Virtual y virtual, todo virtual

He instalado una máquina virtual
en mi ordenador virtual
con un teclado virtual
para pasar un rato virtual
configuro un servidor web virtual
que tiene asociada una base de datos virtual
sobre la que recuperar mi blog virtual
este sobre el que escribo un texto virtual
cada día virtual
y me aseguro de su certificado criptográfico virtual
que firmo yo mismo de manera virtual
para que la comunicación virtual
entre el ordenador anfitrión virtual
y el ordenador huésped virtual
tenga un cifrado virtual
que garantice la máxima confidencialidad virtual
de una transmisión virtual
entre un software que emula ser un hardware virtual
para que un humano virtual
haga un experimento virtual
con el que vivir una vida virtual
virtual
llena de virtud virtual
llena de miedo virtual
llena de amor virtual
llena de ternura virtual
llena de amistad virtual
llena de arte virtual
llena de virus virtual
llena de locura virtual
llena de pantalla virtual
llena de infusión virtual
llena de alegría virtual
llena de tristeza virtual
llena de virtualidad virtual
hasta que llegue el instante virtual
en el que escapar de esta prisión virtual
alimentada por un enjambre de simbiontes virtual
al que llamamos cuerpo virtual
que hace una digestión virtual
sobre una comida virtual
sin más horizonte virtual
que una lámina de lágrimas aciagas virtual
desequilibrando el laberinto binario virtual
sobre el que se cimenta el universo virtual
del espacio-tiempo virtual
y poco a poco ir desapareciendo en un virtual
rayo de oscuridad electromagnética virtual
hasta ser nada: nada virtual.

Mind-full

Me ha hecho mucha gracia esta imagen sobre la diferencia entre «mind-full» y «mindful», ese método de relajación activa que está haciendo furor.

Pero no he podido evitar un comentario sobre lo que echaba de menos al respecto:

Como amante de lo iterativo, me habría encantado en el «bocadillo» del pensamiento canino un hombre y un perro caminando que van teniendo sendos pensamientos, donde el del can incluye un hombre y un perro caminando que van teniendo sendos pensamientos… etc, etc, etc.

Soy un fan de la línea de comandos linux

Quizá porque mi primer contacto con un ordenador fue con línea de comandos, allá por los tiempos en los que en la UAM usé un AIX desde una terminal conectada a un ordenador central que era el único que tenía entorno gráfico.

Quizá porque es más rápida y consume menos recursos que los sofisticados programas de gestión de software que vienen con las distribuciones populares de Linux (yo, de hecho, lo primero que instalo es Synaptic).

Quizá porque lo puedo hacer remotamente desde mi teléfono móvil o, como hoy, desde mi PC mediante una conexión (bien configurado su acceso PKI) por SSH, conectándome a la Raspberry que tengo de servidor de backup y de desarrollo, al mismo tiempo que me conecto al PC que habitualmente usa Carmen para trabajar (mientras ella está trabajando, de hecho).

Cada noche hago un repaso de los dispositivos conectados y tecleo un

sudo apt update
sudo apt upgrade

 

(y si procede un sudo apt autoremove, para limpiar lo innecesario)

Termino con un shutdown now que me remite a aquellos tiempos de mis primeros tecleos… donde una broma habitual era hacerse con la password de root y proceder a un apagado de los 5 terminales conectados al central. ¡Qué vandalismo!.

Había una forma muy sencilla que consistía en simular una pantalla con un «login» en el que la persona que había de encender y administrar los equipos se conectaba y devolver un pantallazo tras haber capturado su contraseña. A continuación, se volvía a mostrar la verdadera pantalla de login y parecía un minúsculo error de tecleo… Sigue siendo un ataque eficaz a pesar de lo poco sofisticado del método.

Esto no es una broma