Archive for Enero, 2007

Trabajando con GtkTreeView en Python

Sábado, Enero 27th, 2007

Esta semana tuve que trabajar en serio con el widget GtkTreeView en Python y se me hizo completamente cuesta arriba hasta que, después de buscar en múltiples tutoriales y pelearme con el código, me vino una epifanía y entendí su complejo pero potente esquema de funcionamiento; así que, en base a la experiencia adquirida, voy a escribir un pequeño tutorial, acompañado de algo de código para ejemplificar.

En GtkTreeView tenemos una clara división entre los datos, la presentación y el motor. Esto es lo que hace que sea un poco lioso al principio, pero también le da una potencia y versatilidad sorprendente. (more…)

Por la Frikipedia, contra la SGAE

Miércoles, Enero 17th, 2007

Hace un tiempo la SGAE demandó a la frikipedia por injurias, alegando que se había manchado su honor por afirmar que sus siglas significan “Siempre Ganamos Algunos Euros” y otras cosas similares. Lo más sorprendente es que, a pesar de tratarse de un wiki de corte humorístico/sarcástico, de que el gestor de dicho servidor no era el autor de dichos contenidos, y de que éste retirase los contenidos tan pronto tuvo conocimiento de ellos a través de la propia SGAE, el juicio ha sido a favor de ésta última.

Ahora, en la blogosfera se ha organizado una campaña de apoyo a la frikipedia en la que se pide que se enlaze a la siguiente imagen, captura de pantalla del texto original de la frikipedia que la propia SGAE utilizó en el juicio (pincha sobre ella para ampliar), y se ha comenzado la campaña “Tienes dos euros?” para ayudar al autor con las costas. Así pues, aquí va mi granito de arena.

SGAE_y_frikipedia

Más detalles en el Blog del autor.

El silencio

Miércoles, Enero 3rd, 2007

Comentaba en mi anterior entrada “¿Termoqué?” la dificultad que estaba teniendo para encontrar un disipador adecuado para mi nuevo equipo. Y no es para menos: paso mucho tiempo delante de la pantalla y lo último que quiero es una turbina de avión destrozándome el oído.

Después de muchas pruebas y mediciones (de tamaño: la nueva caja tiene un travesaño que limita la altura del disipador) me decanté por un Zalman CNPS8000. Este disipador tiene un tamaño adecuado para entrar en la caja y es muy silencioso (a baja velocidad, claro). El único defecto es que la regulación de velocidad es manual. Afortunadamente mi nueva placa es una ASUS con tecnología Q-Fan. Este sistema, propio de ASUS, permite a la BIOS controlar la velocidad de giro de cualquier ventilador (no tiene por qué tener cable de control de velocidad) en base a la temperatura de la CPU, exactamente igual que hacía mi viejo Artic Cooling. El resultado es justo el que quiero: trabajar con mi ordenador disfrutando en todo momento del máximo silencio posible, y sin tener que preocuparme de si el procesador se puede estar sobrecalentando.

Nueva versión de DeVeDe

Martes, Enero 2nd, 2007

DeVeDe 2.9 está en la calle por fin. La gran novedad es que ahora se puede ejecutar también en Windows, aunque hacen falta unas cuantas dependencias: además de Mplayer, Mencoder, DVDAuthor, VCDImager y MKisoFS para windows es necesario Python, PyGTK, GTK, Pyglade y LibGlade para windows. Ahí es nada. Por supuesto tengo que agradecer a Peter Gill el trabajo realizado, pues ha sido todo obra suya.

Otro cambio ha sido el detectar cuando se produce un error en MKISOFS. En efecto, aunque el código estaba ahí, faltaba poner a TRUE una variable, por lo que si MKISOFS fallaba por cualquier razón, DeVeDe devolvía un mensaje de éxito en lugar de error.

También añadí un aviso sobre el uso de particiones FAT32/VFAT para el directorio de destino: los DVDs de vídeo tienen una estructura de directorios con sus nombres en mayúsculas. Desgraciadamente las particiones FAT32/VFAT no distinguen entre ambas y MKISOFS se hace un lío y falla miserablemente (cinco céntimos de euro a quien adivine qué relación tiene este bug con el anterior :)

Por último, y aparte de un fallito tonto en el Drag&Drop, también corregí un problema con ciertos vídeos provenientes de capturadoras de vídeo. Estos vídeos provocan una avalancha de líneas ID cuando se usa la opción -identify de MPlayer, necesaria para conocer la longitud, resolución, etc. del vídeo. En el código original esperaba a que terminase la ejecución de MPlayer y sólo entonces leía el buffer de STDOUT para ver los valores ID, con lo que si había demasiados de éstos el buffer se llenaba y no seguía la ejecución. Ahora voy leyendo las líneas a la vez que se ejecuta, por lo que ya no falla.