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

 

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.

 

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.

 

2008-11-10-Conejo-Frustrado-2-Dulces-sueños

¿Un webcomic en español que no es una puta mierda? ¡Es posible!

Por cierto, a este blog parece que le quedan dos telediarios pero no os dejéis engañar, no lo dejaré tan fácil.

 
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.

 

Fíjense en el siguiente intercambio de correos:

  1. Pavel hace una pregunta
  2. 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
  3. Alexis responde con un ejemplo
  4. Carlos responde, al día siguiente exactamente lo mismo que lo que ha dicho Alexis hace unas meras horas.
  5. Manuel contesta con lo mismo que los dos que han contestado antes
  6. 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.

 

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?”

 

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).

 

Hoy, mirando en la sección de “Gente que pueda que conozcas” de Facebook, me topé con esto:

6 steps

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!

 

de conversación que acabo de tener con un futuro compañero de piso austriaco:

Él: Hola, me llamo Wolfgang
Yo: Encantado, yo soy Germán
Él: No, yo soy de Austria
Yo: …

 
Set your Twitter account name in your settings to use the TwitterBar Section.