Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Cómo cambiar un grupo de ubicaciones georreferenciadas de sistema de referencia de coordenadas geográficas (CRS)

Imago voragine.net
• Por

Los sistemas de referencia de coordenadas (CRS) o sistemas de referencia espacial (SRS) son complicados, al menos para mí que no soy geógrafo y tengo un conocimiento superficial de GIS: existen más de 13.000 sistemas diferentes y siempre me cuesta saber en qué sistema están las ubicaciones de un conjunto de datos georreferenciados. Siempre he tenido la intuición de que es algo complejísimo, sin saber exactamente a qué nivel. Solo cuando leí este maravilloso post de 2011 sobre el tema (que por supuesto no hace falta leer para conseguir cambiar de CRS un conjunto de datos), empecé a tomar consciencia de la magnitud de la complejidad: el post explica la incapacidad de las distintas herramientas de transformación para conseguir precisión en las conversiones, dando resultados que pueden diferir en torno a 20km. Apasionante lectura también para personas interesadas en saber curiosidades como de dónde vienen los códigos EPSG, hoy uno de los estándares para sistemas de referencia de coordenadas.

Pero voy a tema. A mí que trabajo casi siempre desarrollando para web me interesa en general que los datos geográficos usen latitud y longitud. Es el sistema de coordenadas que se suele usar en web: Google Maps, Bing Maps, OpenStreetMap usan latitud y longitud. Si los datos que recibo usan un sistema cartesiano, tengo que transformarlos.

Convertir imágenes PNG o JPG a WEBP, y viceversa, desde la línea de comandos

Imago voragine.net
• Por

WebP es el formato estándar abierto más utilizado para servir imágenes comprimidas en web. Está desarrollado por Google. Casi cualquier framework o CMS puede generar imágenes en este formato a partir de formatos comprimidos como PNG o JPG así que raramente hay que hacerlo manualmente. Sin embargo hay veces que aún me hace falta, por ejemplo cuando hay que optimizar un sitio web que tiene unos años. En estos casos merece la pena hacerlo desde la línea de comandos: es la manera más rápida y además, como siempre ocurre con la línea de comandos, permite automatizar el proceso con un script de bash.

Google dice que las imágenes WebP lossless pesan un 26% menos que la versión PNG. WebP permite compresión lossless (sin perdida de datos para una eventual reconversión al formato original) y lossy (con perdida de datos pero mayor nivel de compresión).

Solución al error VirtualBox can’t operate in VMX root mode

Imago voragine.net
[actualizado el ] • Por Enlace permanente

Tras la actualización en Debian Trixie a la versión 6.12.6 del kernel de Linux he ido a arrancar mis máquinas virtuales de Virtualbox, y Vagrant me ha devuelto el siguiente error:

VBoxManage: error: VirtualBox can't operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot (VERR_VMX_IN_VMX_ROOT_MODE)

La extensión KVM del kernel es la que conecta con el sistema de virtualización de Intel, el que usa mi Thinkpad. En un primer momento he intentado desactivar en la BIOS el sistema de virtualización de Intel y reconfigurar el kernel. Eso no ha funcionado, Virtualbox necesita el sistema de virtualización para funcionar.

Luego he probado a desactivar los módulos KVM del kernel:

sudo modprobe -r kvm_intel
sudo modprobe -r kvm

Tras la desactivación, Virtualbox vuelve a funcionar perfectamente.

En el caso de un procesador AMD, en lugar de Intel, los módulos a desactivar son los siguientes:

sudo modprobe -r kvm_amd
sudo modprobe -r kvm

Actualización 19 marzo 2025

Con la actualización de virtualbox a la versión 7.0.20 en Debian, el responsable del paquete notifica lo siguiente:

In kernel 6.12, KVM initializes virtualization on module loading by default.
This prevents VirtualBox VMs from starting. In order to avoid this, either add
«kvm.enable_virt_at_load=0» parameter into kernel command line or unload
the corresponding kvm_XXX module.

Cómo actualizar la biblioteca de música en cmus

Imago voragine.net
• Por

cmus es el reproductor de música que uso. Funciona en la línea de comandos. Es ligero, tiene un buscador rápido y una manera eficaz de gestionar una biblioteca de música. Se puede controlar con atajos de teclado e interactuar con él desde otros programas o desde el gestor de ventanas es muy fácil ya que tiene una api para comunicarse con él, por ejemplo, usando scripts de bash.

Configurar atajos de teclado en Linux con xbindkeys

Imago voragine.net
• Por

xbindkeys es un programa, independiente del gestor de ventanas utilizado, que permite asociar acciones (comandos) a combinaciones de teclas, para crear así atajos de teclado para gestionar acciones como subir y bajar el volumen, atenuar o incrementar el brillo de la pantalla,k o controlar el reproductor de música. Funciona con teclas multimedia.

Cómo descargar un archivo con wget a través de una conexión HTTPS

Imago voragine.net
• Por

Por omisión wget da error si se usa con una URL a través de conexión segura HTTPS. Esto se debe a que no le estamos diciendo qué certificado tiene que usar para comunicarse con el servidor al que se está conectando. Ésta es una operación que cualquier navegador web hace hoy en día automáticamente, sin que nos tengamos que preocupar por ello. No es el caso de wget.

Para evitar este error y poder descargar una URL a través de conexión segura HTTPS cuando no conocemos el certificado se puede usar el modificador --no-check-certificate.

Cómo evitar que xss-lock bloquee la pantalla cuando una aplicación está a pantalla completa

Imago voragine.net
• Por

xss-lock es un programa que gestiona el bloqueo de pantalla cuando el equipo está inactivo. xss-lock cumple esta tarea llamando a un bloqueador de pantalla externo, y comunicándose con el login manager que define el tiempo de inactividad antes de bloquear la pantalla y conecta con la sesión para salir del bloqueo.

Yo uso xss-lock para gestionar el bloqueo de pantalla en i3wm. xss-lock funciona estupendamente sin mucha configuración excepto cuando hay una aplicación a pantalla completa. En este caso bloquea la pantalla considerando que hay inactividad. Esto es especialmente molesto cuando estoy viendo una película: cada 5 minutos tengo que mover el ratón o se activa el bloqueo.

Para evitarlo he añadido un pequeño script de bash que monitoriza con wmctrl si hay alguna aplicación corriendo a pantalla completa. Si es así, pausa xss-lock con pkill. Cuando se sale del modo pantalla completa, el script reactiva xss-lock.

Configurar un router Linksys 3200ACM con OpenWRT como punto de acceso (bridge access point)

Imago voragine.net
• Por

Los routers Linksys 3200ACM vienen preparados para poder instalar un firmware libre, y es uno de los routers compatibles con OpenWRT. Para instalar OpenWRT en el Linksys 3200ACM hay que descargar la última versión del firmware compatible con el router del repositorio de OpenWRT. En la página oficial de OpenWRT hay documentación detallada sobre cómo instalar OpenWRT, y cómo actualizar a la última versión compatible.

Instalar una impresora Ricoh SP112SU en Linux Debian

Imago voragine.net
• Por

La impresora Ricoh SP112SU es algo caprichosa pero puede instalarse en Linux gracias a un programita desarrollado por una persona que lo necesitó en su momento, como ocurre muchas veces en Linux, y que tiene ya casi diez años pero sigue funcionando. El programita se puede descargar de un repositorio de github.

Los pasos que se pueden encontrar en el archivo Readme del repositorio no me han funcionado, así que recojo aquí el proceso completo para instalar la impresora Ricoh SP112 SU en un sistema Debian, Ubuntu o derivados.

Mis primeras impresiones usando Zutty, una terminal acelerada por GPU

Imago voragine.net
[actualizado el ] • Por

En mis dos máquinas principales he empezado a usar Zutty, un emulador de terminal, lo que hoy día se llama terminal a secas, porque ya se usan muy poco las verdaderas terminales. Es una terminal acelerada por GPU. Estas terminales tienen tiempos de respuesta más reducidos que los emuladores de terminal no acelerados, sobre todo cuando la salida de un comando es extensa.

Usar terminales aceleradas por GPU se ha convertido en una de esas cuestiones que divide radicalmente a los usuarios avanzados.