Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Explorando la proporción de aparcamientos y áreas de juego en Saint-Girons, en Ariège, con Overpass Turbo

Imago voragine.net
• Por

Overpass Turbo es una web que permite hacer consultar los datos de Openstreetmap (OSM) enviando peticiones a través de la API Overpass. Es una buena manera de explorar los datos disponibles en OSM, y por extensión para explorar un territorio y hacer mapas.

La sintaxis para hacer las consultas es complicada pero Overpass Turbo tiene un asistente que transforma búsquedas sencillas en consultas a Overpass. La wiki de OSM contiene una página en la que se explica cómo hablar con el asistente. En mi caso quería hacer una primera exploración de la superficie dedicada a aparcamiento y a zonas de juegos para niños en la ciudad de Saint-Girons, donde vivo. Para ello se puede buscar con el asistente "playground" y "car parking".

Para hacer consultas precisas a OSM usando Overpass es bueno conocer el sistema de etiquetado del mundo que ha ido construyendo a lo largo de los años la comunidad personas detrás de Openstreetmap. Un buen punto de partida es la web Taginfo, un glosario de todas las etiquetas usadas, con estadísticas de uso y un catálogo de proyectos asociados a cada etiqueta.

Crear tipografías para web desde la línea de comandos: generar woff, woff2 y eot a partir ttf

Imago voragine.net
• Por
Existen multitud de conversores de tipografías de escritorio (formatos TTF y OTF) a tipografías web (formatos WOFF, WOFF2, EOT...). Consisten en aplicaciones web a los que se envían las tipografías de escritorio y que devuelven las tipografías web, e incluso la hoja de estilos CSS que permiten usarlas en cualquier página web. ¿Por qué usar entonces la línea de comandos para generar tipografías web? Por dos razones: la primera es la automatización: con la línea de comandos se puede automatizar este proceso. Pero la más importante para mí es que no tengo manera de saber lo que esas aplicaciones web están metiendo en esos archivos que me descargo y que luego subo a los servidores web en los que funcionarán las páginas web que estoy desarrollando. Unas veces porque el código de esas aplicaciones no está disponible para estudiarlo, otras porque aunque lo esté yo no tengo el tiempo de estudiarlo.

Entorno de desarrollo en local para WordPress con Varying Vagrant Vagrants

Imago voragine.net
[actualizado el ] • Por

Varying Vagrant Vagrants (VVV) es una de las maneras recomendadas por la comunidad que desarrolla WordPress para poner en marcha un servidor de desarrollo en local.

VVV es un entorno de desarrollo para WordPress que usa Vagrant, una herramienta pensada para montar entornos de desarrollo. Vagrant usa máquinas virtuales para ello. Al usar Vagrant se puede elegir el sistema de virtualización. VVV recomienda Virtualbox. Vagrant añade al sistema de virtualización, por ejemplo Virtualbox, una capa que facilita la automatización a la hora de crear y gestionar las máquinas virtuales usadas en el entorno de desarrollo.

VVV viene listo para comenzar inmediatamente el desarrollo, equipado con todo lo necesario en un entorno de desarrollo incluyendo herramientas específicas de WordPress como wp-cli.

Cómo cambiar el nombre de usuario (username) en WordPress usando wp-cli

El nombre de usuario en WordPress está protegido por diseño, de manera que no se puede cambiar desde el panel de administración ni usando las funciones PHP para actualizar los datos de un usuario. La orden wp user update de WP-CLI tampoco permite cambiar el username. Esta protección tiene su lógica, pero hay veces que necesitamos cambiar algún username. Una manera de hacerlo es modificándolo directamente en base de datos.

Con WP-CLI podemos lanzar una query a la base de datos para cambiar el username:

wp db query "UPDATE wp_users u, 
    ( SELECT 
          COUNT(*) as number_of_same_login_users
          FROM wp_users u 
          WHERE user_login = 'mary_new' 
    ) tmp 
    SET u.user_login = 'mary_new' 
    WHERE 
            u.user_login = 'mary_old' 
        AND tmp.number_of_same_login_users = 0"

En una línea:

wp db query "UPDATE wp_users u, ( SELECT COUNT(*) as number_of_same_login_users FROM wp_users WHERE user_login = 'mary_new' ) tmp SET u.user_login = 'mary_new' WHERE u.user_login = 'mary_old' AND tmp.number_of_same_login_users = 0"

Visto en este hilo de wordpress.stackexchange.com.

Cómo obtener el propietario de una carpeta o archivo en Bash para usarlo en un script

Para obtener el propietario de un archivo o carpeta en Linux se puede usar el comando stat, y de la siguiente manera se puede almacenar en una variable y usarlo cuando se quiera dentro de un script de bash:

owner=${stat -c '%U' /path/to/your/file}

Y para obtener de manera análoga el grupo de una carpeta o un archivo:

group=${stat -c '%G' /path/to/your/file}

Visto en el blog de Mattias Geniar.

Borrar masivamente entradas u otros contenidos en WordPress con wp-cli

Recientemente he sufrido ataques en algunas webs gestionadas con WordPress. Una de las consecuencias es que cientos de artículos sobre casinos en línea y juegos de azar son creados. Borrar estos contenidos desde el panel de administración puede llevar un buen rato. Con wp-cli se puede hacer con un comando.

Normalmente estas infecciones crean los contenidos automáticamente y de una vez, así que la fecha es la misma para todos los contenidos. Podemos por tanto obtener un listado de entradas filtrado por fecha y luego borrarlas. Algo así:

wp post delete $(wp post list --year=2022 --month=06 --day=01 --format=ids) --force

Sobre la viabilidad de las infraestructuras digitales libres

Imago voragine.net
[actualizado el ] • Por
La infraestructura para servir tiles (las imágenes que conforman el donde de los mapas digitales) de OpenStreetMap en Estados Unidos es un único servidor, que está sobrecargado y empieza a ser insuficiente. Es un nuevo caso que nos impele a pensar cómo mantener las infraestructuras libres para que sean viables.

Instalar composer 2 en Debian Buster

En Debian Buster la versión disponible de composer es la 1.8.4, en el momento de escribir este artículo:

skotperez@debian-buster:~$ sudo apt-cache policy composer
composer:
  Instalados: 1.8.4-1+deb10u1
  Candidato:  1.8.4-1+deb10u1
 Tabla de versión:
 *** 1.8.4-1+deb10u1 500
        500 http://deb.debian.org/debian buster/main amd64 Packages
        500 http://security.debian.org/debian-security buster/updates/main amd64 Packages
        100 /var/lib/dpkg/status

Cada vez más aplicaciones PHP que funcionan por ejemplo con Symfony, necesitan composer versión 2. Aunque composer 2 no está disponible en los repositorios oficiales de Debian se puede instalar fácilmente. En realidad basta con descargarlo y moverlo a una ubicación apropiada:

skotperez@debian-buster:~$ curl -sS https://getcomposer.org/installer | php
skotperez@debian-buster:~$ sudo mv composer.phar /usr/local/bin/composer2

Visto en DeveLike.