Python Weather Widget

Hace tiempo tuve un widget de escritorio para la predicción del tiempo basado en la API de Yahoo y escrito en lua para conky (que puedes ver en esta entrada).

Como la API de Yahoo empezó a dar problemas y su documentación deja bastante que desear, decidí reescribir el Widget en Python 3 + Gtk3 + cairo y usar los servicios de Weather Underground. Continúa leyendo Python Weather Widget

Lleno, por favor. Script para llenar de manera óptima un CD o DVD

“¡Qué desperdicio!”, pensamos cuando hemos acabado de grabar un CD o un DVD y no hemos podido aprovechar toda la capacidad de estos medios de almacenamiento.

Los usamos para guardar todo tipo de archivos: fotos, textos, copias de seguridad, películas… Yo lo uso, casi en exclusiva, para estas últimas —recodificadas, previamente, con recode ;-)—, así, en un DVD+R DL, puedo guardar entre diez y once películas.

Pensé en idear un algoritmo que me calculara cómo llenar de manera óptima un DVD, eligiendo de un grupo de archivos aquellos cuya suma de tamaños se acercara más a la capacidad del disco.

Pasó el tiempo y no era capaz de resolver el problema sin recurrir a la fuerza bruta. Este problema no es ni nuevo ni único. De forma genérica, se trata de llenar un contenedor de capacidad limitada con el máximo número de objetos de tamaño “x”. Buscando por la red, encontré una solución muy buena de Thanassis Tsiodras que usa programación dinámica.

Continúa leyendo Lleno, por favor. Script para llenar de manera óptima un CD o DVD

Gibareto

Imagina la siguiente situación:

Recientemente la NASA ha descubierto una nueva forma de vida aquí, en la Tierra. Se trata de una bacteria cuyo ADN no incluye el fósforo sino el arsénico. Hasta ahora era impensable que el fósforo no formara parte del ADN celular… hasta ahora. El arsénico es mucho más inestable y las moléculas que lo contienen duran poco tiempo debido a esto. Imagina que, precisamente por eso, el ADN de esa bacteria ha aprendido a reproducirse mucho más rápido para paliar la inestabilidad y eso, sin duda, conlleva una mayor frecuencia de mutaciones; en definitiva, una evolución mucho más rápida. Imagina que esta bacteria será consciente de sí misma en muy poco tiempo y que, a partir de ahí, su inteligencia crecerá exponencialmente superando a la nuestra —cosa nada difícil—.

La bacteria vive en un lago de California en el que abunda el arsénico. Imagina que por las profundidades de ese lago, las compañías de telecomunicaciones decidieron pasar sus cables de conexión entre nodos troncales de la gran red. Imagina que la bacteria ha sido ya capaz de aprovechar esa conexión de banda ancha gratuita y monitoriza el tráfico que circula. La bacteria, consciente de su poder, quiere más pero se da cuenta de que ahora el poder está en manos de Google… y ¡ataca! Empieza a interrumpir el tráfico de Google y lo suplanta con su propia información, con su propio criterio.

Tú te levantas una mañana, te haces un café y te pones delante del ordenador para leer tu correo. Intentas entrar en tu cuenta de correo de GMail pero lo único que recibes es un error de conexión y una invitación para que uses el nuevo ARSMail. ¡Oh-dios-mío! ¡Mis siete gigas de correo inaccesibles! Mi receta del pudding de bellotas perdida para siempre. Me quiero morir…

Continúa leyendo Gibareto