Esos pequeños placeres

Agosto 16th, 2007

Mi caja actual tiene un pequeño fallo de diseño: el conector frontal de USBs está muy cerca de la salida de auriculares, por lo que no puedo conectar a la vez los cascos y mi reproductor de MP3 para grabar cosas en él. Sin embargo, un poco más separada está la conexión de micrófono, por lo que se me ocurrió hacer un par de puentes para que el sonido salga por ésta, y así no tener problemas. Llevaba tiempo queriendo hacerlo, pero hasta hoy no saqué ganas.

¿Y qué tiene que ver ésto con el título? Bueno, la última vez que usé un soldador para hacer alguna chapucilla propia fue hace casi dos años, cuando amplié la memoria de mi Z88, y es también la primera vez que lo uso desde que me independicé. Volver a cogerlo, aunque fuese para algo tan sencillo, ha sido realmente agradable. No te das cuenta de lo mucho que echas de menos hacer algo hasta que lo vuelves a hacer y disfrutas. Llevo tanto tiempo concentrado en mi trabajo y en mis proyectos de programación que tengo la electrónica completamente abandonada.

Después de ésto quiero hacer algún proyectillo nuevo, pero antes tengo que comprar una mesa adecuada. ¿Por qué no hay un Ikea cerca cuando lo necesitas?

SuperShow

Agosto 15th, 2007

Finalmente he sacado la versión 2.0 de SuperShow. En ella he pulido la interfaz y he limpiado algo más el código. Entre las novedades está un código Flash muy mejorado, que ahora permite pausar la presentación, retroceder y avanzar, y reproducirla de nuevo cuando termina.

Otra importante novedad es que ahora permite grabar y volver a cargar las temporizaciones. Esto es especialmente interesante porque así es posible generar de nuevo una presentación con una versión posterior de SuperShow, aprovechando las ventajas que traiga (por ejemplo, nuevos controles de la presentación, corrección de bugs en el código Flash…).

Además, ahora la temporización es precisa, y no como en la versión anterior, en que las diapositivas cambiaban aproximadamente en el punto deseado.

Por último, ahora las presentaciones son compatibles con Gnash, el reproductor de Flash libre de GNU. Esto significa que, aún usando un formato propietario, mantengo la libertad de los usuarios. Más que en el código Flash, los cambios para ésto estuvieron en el propio Gnash, y precisamente tengo que reconocer que el equipo del proyecto se ha portado increiblemente bien: no solo resolvieron en un tiempo record los bugs más complicados que notifiqué, sino que admitieron todos los parches que envié para corregir otros bugs que sí eran lo suficientemente evidentes como para que pudiese arreglarlos yo. El resultado es que las presentaciones del nuevo SuperShow funcionarán casi al 100% en la próxima versión estable de Gnash.

Y digo “casi” porque, de momento, el avance, retroceso y pausa no funcionan correctamente debido a un bug en el método que activa un sonido. Sin embargo, están trabajando en ello y seguro que en breve estará implementado. Otro fallo es que, cuando simplemente se especifica un color de fondo en lugar de usar una primitiva o una imagen, Gnash lo pinta de negro (en las presentaciones hechas con Impress, si no se pone ingún fondo, debería ser blanco). Este bug es, por lo que comentan en el Bugzilla, bastante complejo, por lo que, como solución temporal, es recomendable utilizar un fondo hecho con un rectángulo de color que ocupe toda la diapositiva.

Version 4.9 de GAG

Junio 20th, 2007

Hace un par de días tuve que sacar una nueva versión de GAG, la 4.9. La razón fue que, al cambiar toda la parte de configuración al principio del código, cometí un pequeño fallo: la posición de memoria en donde se almacena el tipo de teclado también quedó desplazada, pero el código de GAG seguía leyendo de la antigua. Para colmo, el instalador metía el valor del teclado en la posición antigua, con lo que el resultado era que, al arrancar GAG desde el instalador, el teclado funcionaba perfectamente, pero en cuanto se instalaba en disco duro y se reiniciaba, pasaba a usar un teclado aleatorio. En mi caso, por puro azar fue siempre QWERTY, por lo que no advertí el error; pero a varios usuarios les tocó el teclado ruso, con lo que se encontrarón con que, una vez instalado, no era posible modificar la configuración (sí podían arrancar los sistemas operativos previamente configurados, porque los números están en las mismas teclas en todas las lenguas).

Trabajando con PyCairo y GTK

Junio 20th, 2007

En la nueva versión de DeVeDe (que espero sacar en un par de días) he tenido que trabajar con Cairo para poder generar menús para el disco. La información la saqué de este tutorial sobre PyCairo (en inglés), en donde viene mucha información interesante. Sin embargo, faltaba un detalle importante: como mostrar el dibujo hecho en cairo en una ventana GTK.

En efecto, esto era fundamental porque el usuario tiene que poder ver el resultado final del menú antes de generar el disco (para, por ejemplo, asegurarse de que los títulos no son demasiado largos), y para eso necesito pintarlo en una ventana y no sólo volcarlo a un PNG en disco. Después de mucho buscar y de hacer varias pruebas encontré por fin como hacerlo. Read the rest of this entry »

A vueltas con Mplayer

Junio 6th, 2007

Parece que no ha bastando con usar la versión del SVN de Mplayer/Mencoder para solucionar los problemas: al generar DVDs en formato PAL, en algunos casos lo hace en blanco y negro, amén de otros pequeños problemas.

Ante ésto he preferido curarme en salud y he retrocedido a la versión 0.99pre8; para ser más exactos, la que venía en Ubuntu Edgy. Dicha versión funcionó siempre razonablemente bien.

Para evitar más problemas de dependencias, he preferido empaquetar sólo los ejecutables en un tar.bz2, e incluir un script que sustituya los que ya haya en el sistema por los “nuevos”. Esto lo hace, además, compatible con cualquier distribución, y no sólo con Ubuntu.

Actualización: por petición popular he añadido otro paquete con Mplayer/Mencoder para 64 bits.

Paquetes

Abril 21st, 2007

Parafraseando a Germán Poo, la llegada de la nueva Ubuntu Feisty no es para montar una fiesta, precisamente. La razón es que la versión que trae de Mencoder (la 1.0-rc1, actual versión estable) tiene un fallo al codificar el sonido, con lo que DeVeDe es completamente inútil.

El bug lleva tiempo coleando, y la única solución en estos momentos parece ser utilizar la versión en desarrollo, sacada del SVN (en mi web, por despiste y costumbre, hablo de CVS. ¡Perdón, perdón!). Como una cosa es hacer un sudo ./install, que cualquiera lo hace, y otra muy distinta bajarse fuentes de un SVN y descubrir qué bibliotecas son necesarias para compilar un programa tan complejo como MPlayer/Mencoder, he decidido hacer yo mismo un paquete .deb con la versión del SVN del 14 de abril de 2007, compilada sobre Feisty, para que los usuarios no queden atados.

Nueva versión de GAG

Abril 4th, 2007

A menos de 15 horas de irme de viaje a Bilbao (¡merecidas vacaciones, proclamo!) acabo de subir la versión 4.8 de GAG.

La verdad es que ha sido una sesión maratoniana para terminar el trabajo de casi tres semanas, durante las cuales hice algunas cosas que tenía que haber hecho hace mucho, mucho tiempo.

Para empezar he escrito una excelente documentación de instalación y uso en HTML (y con multitud de capturas de pantalla), por lo que ahora es mucho más fácil entender como se instala y configura GAG.

También actualicé la FAQ, añadiendo entre otras cosas que también se puede usar GRUB, así como la manera de recuperar el arranque de Linux si se instala GAG antes de meter LILO o GRUB en el superblock de la partición raiz, y algunos detalles más.

Otra sección de la documentación es la de detalles técnicos. Ahí explico el formato de los datos de configuración, así como el formato de los iconos, fuentes de letra, etc. La idea es que otros puedan crear iconos y fuentes de letra para GAG (por ejemplo, para añadir soporte realmente nativo a lenguas como el japonés o el griego).

Respecto a la configuración, la he cambiado de sitio y ahora está siempre al principio del segundo sector del disco duro. Esto significa que ya es posible escribir programas de configuración externos (para, por ejemplo, cambiar la configuración directamente desde un instalador de Linux).

Otra gran novedad es el instalador nativo desde Linux: un simple gag-install /dev/sda instalará GAG en la primera unidad (haciendo las comprobaciones pertinentes para evitar pisar una partición que empiece en donde no deba, claro). También se puede especificar desde la línea de comandos la lengua y el tipo de teclado a instalar.

Y ya por último corregí un par de detalles en los ficheros de lenguas Bable y Turco.

Ahora sólo queda que se me pase el miedo que siempre acompaña a cualquier lanzamiento de GAG: miedo a haber metido la gamba con cualquier tontería y destrozar los datos de medio planeta… O:-)

Trabajando con GtkTreeView en Python

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. Read the rest of this entry »

Por la Frikipedia, contra la SGAE

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

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.