Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Obtener en WordPress un listado de contenidos modificados tras una fecha determinada con wp-cli

Imago voragine.net
• Por
wp-cli es útil para automatizar muchas tareas de mantenimiento y administración de un sitio WordPress que se pueden hacer manualmente desde el panel de administración. Pero desde mi punto de vista, cuando despliega todo su potencial, es cuando permite realizar tareas u obtener información que no se puede obtener de otra manera. Y además lo […]

Convertir coordenadas geográficas de grados, minutos y segundos (DMS) a sistema decimal (DD) en Python

Imago voragine.net
• Por
En mapas web se suele usar el sistema decimal (Decimal Degrees) para los valores de latitud y longitud. Si se tienen los valores en grados, minutos y segundos (Degrees Minutes Secons) será necesario convertirlos. En python se puede hacer con dos líneas de código, usando el paquete de expresiones regulares (re).

Por qué usar nvm para configurar un entorno de desarrollo y ejecución Node.js en Linux Debian

Imago voragine.net
• Por
En Linux Debian, no se pueden instalar paquetes con npm globalmente en el sistema (npm install -g) sin usar sudo. Es una medida de seguridad necesaria que puede provocar problemas de permisos para usuarios sin permisos sudo cuando algún paquete se instala globalmente usando sudo, o que implica tener que instalar cada paquete como dependencia de cada repositorio. Esto puede tener sentido con dependencias del proyecto que se está desarrollando, pero no tanto con paquetes del entorno de desarrollo que se usan en todos los proyectos (linters, revisores de código, typescript...). Esto se soluciona usando nvm que permite crear un entorno Node.js específico para cada usuario del sistema, de manera que los paquetes instalados globalmente son globales para el usuario que los instala. nvm se puede instalar sin usar sudo, así que un usuario no necesita contactar al administrador del sistema.

Cómo instalar Virtualbox 7.2 y vagrant 2.4.9 en Debian 13 Trixie

Imago voragine.net
[actualizado el ] • Por
Actualmente en Debian 13, incluso con los repositorios unstable activos la versión más reciente de Virtualbox que se puede instalar es la 7.0. A mí me está dando muchos problemas ya que no se compila bien el kernel 6.16. La única manera que he conseguido de arreglarlo es instalar Virtualbox 7.2. Como uso Vagrant para gestionar las máquinas virtuales creadas con Virtualbox, he necesitado actualizar a Vagrant 2.4.9 ya que las versiones anteriores no son compatibles con Virtualbox 7.2. La versión más reciente en los repositorios de Debian es la 2.3.7, así que la versión 2.4.9 hay que instalarla desde otras fuentes.

Sustituciones con expresiones regulares en una base de datos WordPress con WP-CLI

Imago voragine.net
• Por
Recientemente he tenido que desactivar y desinstalar en un sitio WordPress el plugin pdf-viewer, ya que está fuera de desarrollo y tiene vulnerabilidades que pueden ser explotadas para infectar el sitio WordPress. Lo he sustituido por el plugin PDF.js Viewer que hace exactamente lo mismo. El plugin con vulnerabiliades usaba el sortcode [pdfviwer] para incluir un visor PDF en el contenido de un post; el sustituto usa el shortcode [pdfjs-viewer]. La sintaxis de ambos plugins es ligeramente diferente. La sustitución del plugin implicaba sustituir todos los antiguos shortcodes por el nuevo. Para no hacer esto a mano he recurrido a la interfaz de línea de comandos de WordPress, WP-CLI. Se puede usar el comando search-replace con expresiones regulares. A continuación los pasos que he seguido.

Actualizar la BIOS en la placa base Gigabyte B550M DS3H

Imago voragine.net
• Por
La BIOS (Basic Input/Output System) es un tipo de software que se encarga de comprobar que el hardware de ordenadores PC está en buen estado y luego de arrancar el sistema operativo. La BIOS es diferente para cada fabricante y modelo de placa base. Como todo software, tiene que actualizarse a las nuevas versiones que vayan liberando los desarrolladores, para solucionar vulnerabilidades y hacer la placa base compatible con los nuevos modelos de otros componentes (procesadores CPU, memoria RAM, discos duros, tarjetas gráficas...) que se conectan a ella. Mi PC de sobremesa funciona usando una placa base Gigabyte B550M DS3H. No la había actualizado desde que monté joy, mi ordenador actual. Esta placa viene con una interfaz muy cómoda de usar. Para actualizar la BIOS hay una herramienta integrada en ella que permite cargar la nueva versión desde un disco USB.

Plegado de código (folding) en vim con fold

Imago voragine.net
• Por
He encontrado un poco de tiempo para configurar y probar fold, el sistema nativo de plegado de código de vim. Funciona muy bien cuando los archivos están formateados con sangrías. Si no lo están se puede configurar para que funcione por sintaxis y así detecte el lenguaje de programación del archivo. También dispone de un modo manual, para controlar los pliegues por líneas y adaptarlos al archivo concreto que se esté trabajando.

Instalar, configurar y usar vim-plug, gestor de extensiones de vim

Imago voragine.net
• Por

Hace un par de años que cambié de gestor de extensiones en vim a vim-plug. Antes usaba Vundle. Tenía estas notas que escribí entonces sobre cómo instalar, configurar y usar vim-plug y he encontrado algo el tiempo para publicarlas. Ya he olvidado por qué decidí cambiar. Tengo el recuerdo de luchar un poco con Vundle pero revisando mi archivo .vimrc veo que la sintaxis es muy similar.

Cómo saber con wp-cli en qué sitios de un WordPress Multisite está activo un plugin

Imago voragine.net
• Por

Hay veces que se notifica una vulnerabilidad en un plugin de WordPress y es muy recomendable ponerlo en cuarentena: eliminarlo, o al menos desactivarlo, hasta que se solucione el problema. Cuando esto ocurre en una instalación Multisite de WordPress con decenas o centenas de sitios antes de poder desactivarlo o eliminarlo conviene saber en qué sitios está activo.

Con wp-cli y un loop de bash se puede realizar esta tarea automáticamente.