Gente docta me dice: te equivocas. Esto es una tradición. Cierto. Pero gente docta me recuerda: teníamos la tradición de quemar vivos a los herejes en la plaza pública, la de ejecutar a garrote ante toda una ciudad, la de la esclavitud, la de la educación a palos. Todas esas tradiciones las hemos ido eliminando a base de leyes, cultura y valores humanos. ¿No habrá una ley para prohibir esa última tortura, por la cual además pagamos?
La memoria del llanto – Francisco González Ledesma
03
Aug 10
La memoria del llanto
28
Jul 10
Backups de Nokia con Linux
Como suele ser común, la preocupación sobre una estrategia de backup solo surge después de un accidente. En mi caso, al tirarme a la piscina con el telefono movil en el bolsillo después de atiborrarme a tintos de verano para aguantar el calor durante un asado. Al final el cuento terminó con final feliz ya que después de pasar dos días sumergido en arroz el telefono volvió a revivir. Mientras tanto tuve que tirar de un movil viejo que no tenía los contactos con los que suelo comunicarme habitualmente y me surgió la duda de que haría si el telefono no reviviese. Facebook tiene una página de numeros de telefono de mis contactos, pero no todo el mundo tiene su numero publicado o actualizado y no todo el mundo tiene una cuenta de Facebook.
Una vez que pude volver a encender el movil estropeado me puse a buscar formas de generar backups de la información guardada en el movil. Ya que es notoria la baja calidad y compatibilidad del PC Suite (lease: unicamente para Windows) que viene con todos los telefonos Nokia quería encontrar o una alternativa abierta o algún método que dependiese lo menos posible en conexiones USB/Bluetooth/infrarojos. Después de un par de busquedas en google conseguí encontrar dos métodos que cubren dos aspectos distintos del backup y no requieren ningún tipo de software especial.
El primero es para generar backups completos del telefono usando una utilidad interna que podemos encontrar en Herramientas -> Memoria -> Opciones -> “Copia de seguridad en la tarjeta de memoria”. Esta utilidad genera un archivo Backup.arc y lo guarda en la tarjeta de memoria del telefono, luego se puede restaurar (en teoría a cualquier telefono symbian) o copiar desde un lector de tarjetas de memoria. Como no estoy muy seguro de que este método haga una copia de los contactos hay un segundo método especifico para los contactos.
Contactos -> Opciones -> Marcar todo -> “Copiar a tarjeta de memoria” copia todos los contactos en formato vCard a la tarjeta de memoria. Este método tiene la ventaja de que podemos ver/modificar/borrar los contactos individualmente desde otro programa o con un editor de texto. También, al ser un formato abierto y bastante extendido se debería poder importar los contactos a otro telefono con un sistema operativo distinto.
Fuentes:
Método 1: How to backup the data from Nokia E51 on Linux system?
Método 2 : Backup and restore Nokia contacts without PC-Suite
27
Feb 10
Bug #485923
Cuando comencé a usar Ubuntu Karmic la única cosa que no me gustó fue el consumo de memoria exagerado de algunas aplicaciones. Llegaba a ser tan malo que no podía dejar el ordenador encendido más de 5 días sin tener que reiniciar la sesión de Gnome. Al principio asumí que era el típico bug serio que sería solucionado rápidamente cuando mucha gente se quejase, pero investigando en Launchpad unas semanas después del lanzamiento de Karmic ni siquiera había una mención al problema. Investigando un poco más pude concluir que el problema era cosa de dos aplicaciones: gnome-settings-manager y gnome-volume-control-applet que al ir pasando el tiempo llegaban a consumir cantidades ingentes de memoria (1.5GB+ cada una). Al final, como no era un problema tan serio lo olvidé y me acostumbré a vivir con ello, a la espera de que con Lucid Lynx desapareciese.
Pero ayer por la tarde, mientras me aburría un poco me puse a buscar y esta vez tuve más suerte. Resulta que el problema es debido a una perdida de memoria de gnome-volume-control-applet junto con un comportamiento extraño de wine. Esto no sería un problema tan serio si no fuese porque yo uso Spotify con wine todo el día.
La buena noticia es que el problema fue solucionado hace unos pocos días. La mala noticia es que al ser un problema poco relevante para los usuarios regulares de Ubuntu y al no ser Karmic una LTS no se ha puesto el arreglo en los updates. La otra buena noticia es que un simpático usuario ha compilado la versión buena de gnome-volume-control-applet y la ha colgado en Launchpad. Con añadir las dos lineas a nuestro sources.list y hacer un apt-get update y upgrade ya nos basta para que este molesto problema desaparezca.
08
Feb 10
Unicode y expresiones regulares (en PHP)
Le llega el momento a todo programador no anglo-parlante de enfrentarse a la difícil tarea de escribir una expresión regular que acepte tildes, cedillas y virgulillas. Difícil porque las expresiones regulares fueron creadas, como tantas otras herramientas, cuando ASCII era la única codificación existente y por lo tanto funciona con un numero de caracteres muy limitado para el mundo internacionalizado de hoy en día. Asumamos que queremos limpiar una cadena de texto quitando todo lo que no sean caracteres alfanuméricos. La respuesta obvia sería:
preg_replace('/[\w]/ui', '', $input);
Pero \w realmente equivale a [a-z0-9_] y no nos vale. Aunque en teoría la documentación de php dice que en algunos locales \w inclute letras acentuadas yo no he conseguido que pille las del español. La siguiente respuesta común es esta:
preg_replace ('/[a-z0-9áéíóúç]/ui', '', $input);
Pero esto no sólo es una guarrada enorme sino que tampoco servirá cuando querramos añadir soporte para más idiomas y al final terminaremos con una cadena de proporciones épicas intentando incluir todas la variantes de caracteres acentuados de todos los idiomas, por no hablar de todos los alfabetos.
Aunque no lo parezca existe una solución elegante y simple. Resulta que la codificación Unicode asigna una serie de propiedades a todos los caracteres, desde algunos tan obvios como si un caracter es alfabético, si es mayúscula o minúscula o si es un número hasta otros más extraños como si tiene forma cuadrada o es de uso histórico. El que a nosotros nos interesa en este caso es la propiedad alfabética. Como podéis ver no solo aparecen listadas todas las letras normales sino que también aparecen todas las letras acentuadas habidas y por haber.
Por suerte la extensión PCRE de PHP nos deja utilizar una selección limitada (pero suficiente) de propiedades Unicode en nuestras expresiones regulares combinando el caracter de control \p con el identificador de la propieda que queramos, en este caso L.
preg_replace ('/[\pL0-9]/ui', '', $input);
Hay que tener en cuenta que utilizar las propiedades unicode en una expresión regular es significantemente más lento que utilizar rangos normales, con lo cual no es recomendable usarlas para operaciones habituales o que se repitan mucho.
25
Aug 09
do-release-upgrade
root@volt:/etc# uptime
20:47:33 up 557 days, 14:37, 2 users, load average: 0.20, 0.24, 0.35
root@volt:/etc# reboot
Broadcast message from hermzz@volt.io
(/dev/pts/0) at 20:49 ...
The system is going down for reboot NOW!
Debo admitir que me costó bastante darle al enter después de escribir reboot. Y eso que me prometí que no me importaba.
15
Jun 09
Mi problema con las listas de correo
Fíjense en el siguiente intercambio de correos:
- Pavel hace una pregunta
- Jose responde con un enlace a la documentación de la función en cuestión, junto con una explicación de lo que debe hacer
- Alexis responde con un ejemplo
- Carlos responde, al día siguiente exactamente lo mismo que lo que ha dicho Alexis hace unas meras horas.
- Manuel contesta con lo mismo que los dos que han contestado antes
- Y finalmente, Antonio se une a la fiesta, tres días después contestando con… lo mismo que los últimos tres.
¿Tan faltos de amor están estos tres perdedores que se ven llamados a contestar de manera repetida y sin originalidad a una pregunta tan insulsa y obvia como esta? No es la primera vez, ni será la última, que alguien hace una pregunta de respuesta simple y se abalanzan los que quieren poder fardar de que contestan preguntas en la lista de correo de Python.
Por cierto, la pregunta en cuestión es un ejemplo perfecto de cargo cult programming: cuando alguien copia y pega código sin saber bien como funciona, otro clásico infaltable de las listas de correo.
01
Apr 09
Hook, line and sinker
Hoy April Fools Day, el equivalente anglosajón al día de los santos inocentes hispano, el periódico The Guardian inglés publicó un articulo diciendo que se pasaban a Twitter y que iban a re-publicar todo su contenido en textos de 140 caracteres. Lo que es evidente para cualquiera con dos neuronas en la cabeza no lo es para todo el mundo, y el periódico ABC demostró estar en el segundo grupo: The Guardian cambia el papel por Twitter. ¿Ah, que ahí no pone nada? Suerte que uno es previsor y guarda copias de los articulos originales…
Si es que, o el redactor no se leyó el artículo o se creyó lo siguiente:
A mammoth project is also under way to rewrite the whole of the newspaper’s archive, stretching back to 1821, in the form of tweets. Major stories already completed include “1832 Reform Act gives voting rights to one in five adult males yay!!!”; “OMG Hitler invades Poland, allies declare war see tinyurl.com/b5x6e for more”; and “JFK assassin8d @ Dallas, def. heard second gunshot from grassy knoll WTF?”
04
Mar 09
Uso de fotos
Cuando creé mi cuenta de Flickr hace unos años y me pidieron elegir una licencia para las fotos elegí Attribution-Share Alike con la idea de que si a alguien le gustaba las fotos que sacaba que las pudiese re-usar o re-publicar. No le dí mucha importancia al tema porque no esperaba que nadie hiciese uso de la licencia. Sin embargo, últimamente me estoy encontrando, gracias a las estadísticas de la cuenta pro de flickr, que mis fotos aparecen en otros lugares:
Explore The Top 50 Albums of 2008, foto de fondo de Kings of Leon (original).
Internal and External Signals, foto principal y en la que además soy el sujeto (original).
Tiempos turbulentos para el trigo, foto del trigo (original).
Me alegra que la gente se tome el tiempo de buscar fotos de licencias apropiadas y después las citen correctamente, aunque nunca me entere de cuanta gente utiliza mis fotos sin dar crédito.
Update: Y horas después de hacer este post cae otro enlace, esta vez desde soitu: Summercase… y estalló la burbuja (original).
23
Feb 09
Seis pasitos de nada
Hoy, mirando en la sección de “Gente que pueda que conozcas” de Facebook, me topé con esto:

Resulta que Xavier es un amigo mio del colegio, el que se casó el año pasado. Como yo, Xavier ha vivido en un montón de lugares y en España estuvo solo unos pocos años (menos de 10 creo). Mientras que Alex es un amigo de Fillito, uno de los programadores de Minube. Estas dos personas me conocen de lugares y tiempos completamente distintos de mi vida, y en principio nada hubiese indicado que estaban relacionados. Y sin embargo…
Pues eso, esa ha sido la clase práctica de 6 grados de separación de hoy. ¡Hasta la próxima!
