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

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.

Fondo blanco en PNG

Para eliminar la transparencia (canal alpha), existe este valioso comando linux que he utilizado más de una vez para luego poder subir las fotos a mi galería que maneja Piwigo:

mogrify -background white -alpha remove -alpha off *.png

Puede combinarse, por supuesto, con un find bien manejado, como el comando que usé para modificar los tamaños de múltiples archivos simultáneamente.

Soñé en ensamblador

Nunca he programado en ensamblador
y eso que se decía
en una época que ya ni recuerdo
que había que entender ensamblador
para comprender cómo una máquina
comprendía a los humanos.

Ni siquiera sé
y eso que podría buscarlo en internet
si se trata de un lenguaje compilado
o interpretado.

Cuando acabe este poema
leeré sobre ello e incluso
realizaré algún programa
que salude al mundo
desde mi máquina
con la que tanto me entiendo
con la que tanto me enciendo.

Pero hace unas semanas
soñé que tenía que preparar para Carmen
una coreografía de Tango
en ensamblador.

En el suelo
no sé cómo iba a hacerla.
En el sueño
no sé cómo iba a programarla.

Soñé que no la iba a tener a tiempo
e iba a decepcionar a Carmen
que estaba esperando
ese código ensamblador
no recuerdo para qué.

Nunca he programado en ensamblador
y eso puedo resolverlo
hoy mismo.

La decepción
sin embargo…

Instalando un dispositivo BlueTooth en Linux Mint

Desde hace meses hago todas las clases online, así que estoy equipando los equipos, valga la redundancia, con auriculares, mejorando las conexiones, como en el estudio que hube de adquirir una antena especialmente potente para atravesar la pared que me separa del router, y en ocasiones, incluso, dotando a los PCs de conectividad que no tenían, como el caso del BlueTooth para poder utilizar dispositivos inalámbricos.

Pero luego viene la realidad de vivir luchando a la contra con mi empeño en utilizar Linux, aunque sé que no es la mejor de las herramientas desde el punto de vista de la productividad, pero algo «fanático» convencido de que instalar linux es un acto político y, quizá, incluso, poético, si considero que la sociedad es el papel en el que escribir el poema de mi vida.

He probado varios adaptadores con mala suerte en casi todos los casos. Recientemente adquirí uno (afortunadamente no muy caro) que garantizaba tener soporte para Linux, pero no era así, salvo que estuvieses dispuesto a compilar sus drivers para el kernel que usases y renunciases a actualizaciones so pena de perder el driver así creado.

Después de varios intentos de compilación (que no acaban de funcionar porque el «makefile» estaba mal diseñado), después de revisar el código abierto del mismo para intentar entender qué hacía y corregirlo, después de trastear de diversos modos, así como tener que saber si tenía que instalar la versión USB, la versión UART o la versión ALL, es decir, después de horas de trabajo… aún no funcionaba y además ralentizó el arranque de mi sistema.

En resumidas cuentas, doy la razón a quienes dicen que para usar Linux hay que ser un experto… o similar. Salvo contadas excepciones.

Finalmente, me di por vencido y decidí no perder más tiempo y cambiar el dispositivo en Amazon, con la pérdida de tiempo asumida.

Por si acaso, volví a darle una opción a otro dispositivo que no garantizaba la compatibilidad con Linux, un cacharrito que era al mismo tiempo antena WiFi y BlueTooth, lo que, si funcionaba bien, podría ser muy conveniente especialmente en el estudio, donde siempre me viene bien una antena de backup y además soporte BT para conectar auriculares.

Esta vez, después de que en marzo lo comprase y lo intentase instalar, parece ser que sí ha habido suerte (amén de un cambio de versión de sistema operativo), reconociéndome ambas funcionalidades. Hice bien, quizá, en suponer que un día funcionaría.

Pero Linux y los drivers de dispositivos…

Empatizar no la reconoce mi diccionario

En la entrada de ayer, hablaba sobre empatizar y me sorprendió que mi diccionario no la reconociese, ese que usa el sistema operativo para saber qué palabras están definidas o aceptadas y cuales no. No es riguroso y no pretende serlo, pero que no incluya una palabra como esta es poco empático… y algo antipático.

Pero peor aún resulta las que sugiere como alternativas:

Así que poco más que añadir, salvo que la incluí ese mismo día para no ir por ahí sin esa palabra en mi vocabulario. 😉

¿Y qué si tu infancia fue una mierda según la mayoría de la gente?

Tengo ya añitos encima como para que las fotos de mi infancia fueran en blanco y negro, aunque pronto comenzaron esas fotografías en color que amarilleaban rápidamente y que mi madre conserva con todo el cariño del que es capaz (que es mucho) en álbumes ordenados por año, mes y excursión u ocasión.

Pero discrepo completamente de lo que se entendía como una bella infancia, quizá porque nunca me gustaron los deportes, menos aún los de equipo, especialmente los equipos. Por supuesto, si me veía en obligación (solía ser así en esa «nostálgicamente idolatrada» infancia), prefería ser portero para no tener que andar correteando y poder quedarme a charlar con quien se acercase a la portería.

En cuanto pude (y fue bien pronto) me hice con mi primer ordenador, un viejo Spectrum 48K, que me abrió por fin la mente a un mundo completamente nuevo y prometedor. No envidiaba esas calles llenas de gente que jugaba a cosas con pelotas y agresividad en mitad de un escaso tráfico rodado.

Tenía unos 15 años. Eran los 80. Fue mi «movida» particular. Descubrí que podías hablar con una máquina. ¡Qué maravilla! ¡Por fin alguien me entendía! (Cabría decir que era alguien que me hacía caso o, incluso, que me obedecía… pero no sé si aquello era tan importante).

Un poco parecido a eso había sido mi relación (unos años antes) con el ajedrez. Algo comprensible, un juego serio, un juego relajado físicamente salvo para un cerebro que veía piezas moviéndose en un techo que no era un techo y sí un tablero imaginario en el que celebraba derrotas y victorias contra mí mismo (alusión a la preciosa miniserie de Netflix titulada Gambito de Dama).

Podía de repente hacer un programa en BASIC, sí, el viejo BASIC, que simulase una ruleta rusa y que tiñese de rojo la pantalla en caso de tener ¿suerte?. No tenía que explicarle a nadie que eso me resultaba estimulante, muchísimo más que perseguir un esférico por un parque plagado de baches en una tierra árida y hostil sin más objetivo que darle una patada.

Podía de repente saber que una máquina sabe interpretar señales binarias (ceros/unos) que le decían qué tenían que hacer y poco a poco me fue mecanizando comprendiendo que era una forma de cualificar el mundo (sí/no) en grupos básicos de pertenencia a conjuntos que mucho más tarde aprendí a ampliar con una gama discreta y después infinita de grises en una lógica que no era simplemente bievaluada. Podía saber que los humanos no éramos tan simples.

Podía de repente hacer que la repetición no tuviese sentido si no era programable. Paquetizar las operaciones de modo que pudiera afrontarlas más eficazmente para disponer de más tiempo, quizá para leer, que era mi otra gran pasión.

En aquella época no necesitaba ganar eficacia, pero sí senté las bases en mi cerebro para poder hacerlo más adelante.

Oh… pero lo mejor aún estaba por llegar.

Cuando descubrí que los ordenadores podían conectarse entre sí, formando redes que te permitían algo tan básico en aquella época como un comando TALK para hablar entre dos personas (quizá al otro lado no había una persona, pero lo parecía más que los que jugaban al fútbol en mi barrio).

Y llegó (para mí) la red de redes, la red que unía un millar de millares de ordenadores (en aquella época sólo ordenadores) y con ello extensiones brutales de ese básico TALK, para poder hacer lo que hacía en esa vieja portería (charlar), pero con personas afines a mí en todos los rincones de la única esfera que me interesaba, esa llamada mundo.

Me hice adicto (casi) al uso de usenet y los Grupos de Noticias, esos antiguos «foros» donde volqué mi ansia por conocer gente afín. Así, escribí hasta la saciedad en el viejo grupo «soc.culture.spain» que me sirvió de contacto con el mundo incluso cuando estuve viviendo en Australia, pero especialmente cuando estuve trabajando en empresas donde habitaba un millar de personas de las que consideraba que la infancia ideal (esa de la que no querían salir) era la del fútbol entre un montón de energúmenos que ocupaban el patio como si fuese suyo.

Me acabo de dar cuenta de que otra de las diferencias entre estas dos imágenes comparativas de las dos infancias es que en la «presuntamente» de mierda hay dos chicas y sólo hay chicos en la de blanco y negro. ¡Curiosa diferencia!

Creé o solicité la creación de es.alt.literature (creo recordar) y alguna otra agrupación donde esperaba conocer gente interesante. «Buscaba un alma que se pareciera a mí y no podía encontrarla» que diría Lautreamont.

Así fue pasando el tiempo y pude encontrar gente fuera de ese ámbito telemático que, literalmente, me salvó la vida, para hallarme rodeado de personas a la que quiero, pero no guardo más que buenos recuerdos de aquellos tiempos, esas conversaciones con BegoWhat4, alguna otra gente… y mi certificación de que fue cualquier cosa menos una infancia como la que otras personas consideran ideal y sin embargo me ha llevado a ser, hoy, una persona feliz.

Volvería a elegir la misma ruta que me ha traído hasta aquí. Y no me gusta mucho que se estigmatice como infancia de mierda aquella que tuve solo por el hecho de que no es la que tenía que tener… según no sé «qué mierda» de patrones.

Tuve suerte.

El ingenio español ha desaparecido

Ponerle de nombre «Ingenio» a un satélite es poco ingenioso o poco previsor, pues es algo previsible (siempre hay que pensar en los errores como parte del desarrollo tecnológico) que pueda extraviarse o explotar… y genera titulares que, si a alguien le importase, cosa que tampoco parezca ser el caso, daría lugar a millares de «memes» posibles o bromas más o menos malintencionadas.

Pero es que con ese nombre el chiste está escrito, casi, sin error… el Ingenio Español se va de España, emigra, pero en en este caso para no volver jamás.

Gracioso, triste… pero demasiado real. ¡ay, querida amiga!

Caballo de Troya

Es tan conocida la historia (leyenda) del Caballo de Troya que casi da pereza tener que explicar qué es un troyano, pero cuando te llega un mensaje como este por correo corres el riesgo de creer que verdaderamente es un mensaje destinado a ti.

Cada día más, los antivirus heurísticos son capaces de discernir con una inteligencia más o menos artificial, implementada en forma de algún algoritmo (¿son algoritmos las redes neuronales artificiales, los sistemas expertos, la lógica difusa?), si se trata de SPAM, virus, o si por el contrario es un mensaje «verificado» como sin peligro.

Por supuesto, queda la llamada a la ciudadanía, a los y las internautas, para que sean conscientes del riesgo que asumen al tener un dispositivo conectado a estos ataques que muchas veces es muy complejo distinguir de cartas bienintencionadas.

Me llegó este mensaje al correo electrónico de mi flamante linux (algo más seguro frente a ataques «convencionales» de software que se ejecuta en el equipo, básicamente porque la seguridad es implícita al propio sistema operativo y además (y sobretodo) porque no se desarrollan muchos virus para atacar a menos del 1% de dispositivos, pudiendo atacar al 99%):

Cuando el cuerpo del mensaje es como este:

señor.
Siga según lo solicitado, ¡tómese su tiempo!
(Archivo_10009256727)

yo sospecho, ya de primera, por la mala redacción del mismo, el iniciar la presentación de manera tan formal, pero en minúsculas, y ese «según lo solicitado» tan inespecífico, amén de incluir un «asunto» con problemas en la codificación UTF-8.

Además, me encuentro con que lleva a un presunto PDF (que tampoco abriría, pues no sé las capacidades de ejecutar macros o similar por el lector de PDF que tengo instalado y que no es el habitual de Adobe, por supuesto, en LinuxMint), que para colmo tiene la extensión .html tras de sí y un tamaño ridículo de menos de 1kb.

Ya con esta información puedo saber de qué tipo de virus se trata, pero no pierdo la ocasión de recordar viejos tiempos, cuando me tocaba analizarlos como parte de mi trabajo en seguridad informática y lo descargo en una zona segura (no voy a «pincharlo», así, sin más) y lo abro con un editor al que confiaría mi vida (tecnológica). El código es tan simple que espanta:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="XXXrefresh" XXXcontent="0;URL=https://XXXbit.ly/XXX3jeIkxk">
</head>
<body>
<br>
</body>
</html>

En realidad, lo único que hace este código (al que le he añadido las XXX por seguridad) es redireccionar (con http-equiv=»refresh»)  el navegador a un lugar seguramente malicioso. Ahí sí que no voy a arriesgarme, salvo que lo hiciese en una máquina virtual… y no tengo tiempo ni ganas.

 

 

 

 

Esto no es una broma