Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Expresiones regulares de vi y Perl para sustituir comas por puntos en números decimales, y cómo aplicarlo en PHP

Imago voragine.net
• Por

Los lenguajes de programación fueron inventados por gente que hablaba y escribía en inglés, así que están pensados para funcionar con las convenciones lingüisticas y matemáticas inglesas. Cuando cualquier lenguaje de programación tiene que relacionarse con bases de datos en idiomas diferentes siempre hay problemas.

Uno típico se da cuando se utiliza una base de datos en español que contiene números racionales en su expresión decimal. Para notar los decimales en inglés se utiliza el punto (0.45) y en español la coma (0,45). Así que antes de operar con estos números hay que convertir esas comas en puntos para que el lenguaje de programación entienda los números como decimales.

Este problema lo encontramos por ejemplo cuando queremos insertar datos que tenemos en un CSV a una base de datos SQL, utilizando PHP. Pondré como ejemplo el CSV de un proyecto en el que estoy trabajando, una herramienta para medir las emisiones de dióxido de carbono en los procesos constructivos.

Podemos transformar los números fácilmente usando expresiones regulares de vi en el editor vim, o expresiones regulares Perl en PHP mediante la función preg_replace.

Simplitt, generador de sitios estáticos a partir de una hoja de cálculo

Imago voragine.net
• Por
Hace unos días Pablo y yo liberamos la versión 2.0 de simplitt. Simplitt permite construir webs sencillas y ligeras. En las versiones anteriores experimentamos con la idea de trabajar sin base de datos SQL para poder prescindir del servidor de base de datos, y así poder funcionar con un servidor sin muchos recursos de hardware. Como alternativa ligera a SQL, decidimos almacenar los datos en archivos de texto plano, para poder seguir disfrutando de la potencia de generar dinámicamente las webs. En esta nueva versión, hemos convertido simplitt en un generador de sitios estáticos que utiliza un archivo CSV como base de datos.

Usando un archivo de texto plano como base de datos: alternativa ligera a SQL

Imago voragine.net
• Por

Hay aplicaciones web para las que una base de datos SQL se le queda grande. Una base de datos SQL necesita un servidor de base de datos que consume no pocos recursos en nuestra máquina; además la base de datos necesita ser creada, junto a los usuarios y sus permisos, hace falta configurar correctamente codificaciones, crear las diferentes tablas...

Por otro lado, aunque los archivos SQL son archivos de texto plano, su edición manual, sin utilizar los comandos que proveé un intérprete, como PHP por ejemplo, es tediosa. Para utilizar un conjunto de datos ya generado, generalmente hay que programar un script que los formatee según la sintaxis SQL para poder insertarlos en la base de datos.

¿Por qué no utilizar un archivo de texto plano como base de datos? Esto nos ahorra todo el trabajo relacionado con el servidor de base de datos. Además permite trabajar directamente con un archivo editable por una persona.