martes, 31 de octubre de 2006

Sección "Inolvidables" - Homero Thompson!

Esta pequeña sección que inauguro hoy pertenece a los más grandes momentos de la historia (o al menos, de mí historia, je).

Paso a mostrarles el pasaje/escena más increíblemente graciosa de toda la TV contemporánea... y lo quiero tener en mi blog! :-D

HOMERO THOMPSON!!!!

domingo, 29 de octubre de 2006

Migré a Ubuntu Edgy!

Impresionante, la verdad es que estoy disfrutando de la última actualización a Edgy. Cambié todo lo que decía 'dapper' por 'edgy' en el archivo /etc/apt/sources.list, y ejecuté 'apt-get update', 'apt-get dist-upgrade' y varias horas después tenía Edgy instalado. Me quedaron algunos meta-paquetes de python retenidos, pero no son problema, después lo soluciono.

Mi instalación de XGL+Compiz anduvo sin romperse, aunque no lo probé mucho porque el Compiz ese (de Quinnstorm, antes de convertirse en Beryl) era para Dapper... ya cambié el repo a Edgy y estoy usando Beryl 0.1.1 para Edgy. Tiene bastantes mejoras, aunque molesta un poco que tenga taaantas opciones yque siempre haya que estar configurando algo porque se actualizó/cambió. Ojo, son paquetes que están en puro desarrollo, así que si te gusta el durazno... bancate la pelusa. :-P

Lo primero que hice fue levantar el Firefox 2.0 de 32 bits que tengo (tengo Ubuntu 64) ya que la preciosa gente de Adobe tarda siglos en portar a 64 bits su plugin de flash (y no, probé nspluginwrapper y me cuelga el Firefox). Me di cuenta que:

- El plugin "TabMixPlus" no funca en firefox 2. Un garrón, aunque encontré un post en este blog diciendo que están en proceso de sacar una actualización (recordemos que Firefox 2 hizo profundos cambios en el manejo de pestañas). Quise entrar a la home page y veo que se quedaron sin ancho de banda disponible!! que alguien le tire una moneda a ese pibe, esa extensión es imprescindible!!

- Quiero mi "Ubuntu Human Theme" para Firefox 2! (como tiene la versión de 64 bits). Claro, el paquete para integrar los íconos de Firefox 2 al skin de Ubuntu ahora viene incluído en los repositorios de Edgy... y no lo puedo instalar (lo busqué, eh!) como plugin .xpi para el Firefox de 32 bits. Por suerte, (así es el mundo Open Source, je) bajé el correspondiente archivo .deb, lo descomprimí y acá les dejo mi archivo comprimido para que extraigan en el directorio de 'extensions' de firefox 2 (calculo que sólo sirve para Ubuntu Edgy).

- Para volver el ícono del Thunderbird a la versión original, el script de este thread anduvo, pero ejecutándolo como "sudo bash /usr/local/bin/restore_mozilla_icons".

Gracias a Beryl y los parches para que la transparencia de gnome-terminal sea "real" (sólo con X.org 7.1 y window managers que soporten Composite), tengo consola con fondo transparente de verdad!! :-D



Otro problema (bastante importante) fue que las fuentes en Firefox, Gnome-terminal y OpenOffice se veían HORRIBLES. Encontré este thread, que me hizo reemplazar el archivo .fonts.conf de mi home por este:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font" >
<edit mode="assign" name="rgba" >
<const>rgb</const>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hinting" >
<bool>true</bool>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hintstyle" >
<const>hintfull</const>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="antialias" >
<bool>true</bool>
</edit>
</match>
</fontconfig>
Y santo remedio! :-D
Evidentemente, hay problemas con Firefox y su manejo de fonts en linux... :-S

Otro "bugcito": tengo el problema (según este post somos varios) que nos muestra el splash de arranque en gris (?)

Por ahora, nada más. A medida que vaya encontrando problemitas, voy a ir publicando cómo los fui resolviendo. Por ahora, el balance general es bueno. El sistema vuela, es bastante estable (aún con XGL+Beryl instalado), y sí, es de saber que la actualización desde los repositorios tiende a tener este tipo de "glitches"... pero nada grave en mi opinión.

Las nuevas versiones de las aplicaciones, el arranque un poco más rápido (aunque todavía no creo que se le esté sacando el jugo a este esquema, es muy nuevo), etc. hacen que la actualización valga la pena largamente.

Saludos!
Marcelo

Actualización: También soy víctima de este pequeño "bugcicicicito":
Demasiado visible como para que saquen Edgy con este bug, no? :-S
En mi opinión esto (y comentarios que ví en varios lados) remarca que Edgy no es una distro LTS; o sea, es un poco más 'experimental' y para gente que quiere algo con algunos bugs pero con software más actualizado.

miércoles, 25 de octubre de 2006

Mi Nuevo Sillón

Estoy taaan feliiiz por mi nueva adquisición!!!
Costó, costó y al fin llegó. :-D
Mi espalda y mis nervios me lo agradecerán.

Aquí está la captura de la gloria de la tecnología ergonómica.




Saludos!
Marcelo

viernes, 13 de octubre de 2006

"Es-pec-ta-cular, Es-pec-ta-cular, eh!"

Navegando hoy no pude evitar reírme mucho encontrarme con esta BSOD:




Esto sí que es propaganda creativa!!! Quién no reconoce estos cuelgues a muchos metros de distancia?? :-D

Sacado del Blue Screen of Death Top 10

Saludos

miércoles, 11 de octubre de 2006

Servidor de Logs Remotos - Syslog-ng

Syslog-ng es un demonio de syslog infinitamente más flexible que el syslog "común" (tomado de BSD). Permite aplicar filtros, clasificar de acuerdo a distintos orígenes y enviar a diferentes destinos los logs. Para gestionar un servidor de logs, es muy fácil.

Sólo fue cuestión de leer esta guia y darle "apt-get install syslog-ng" y listo. Esto reemplaza al syslog anterior, pero la configuración del syslog-ng es la misma (en cuanto a funcionalidad, no en cuanto a sintaxis) que la de un debian recién instalado.

Aquí me aparto un poco de la guía, ya que allí se indica cómo se hace para guardar en directorios distintos los logs de los distintos hosts que loguean desde la red.... y yo en realidad necesitaba un poco más que guardar en un archivo, si no que necesitaba almacenarlo en una base de datos.

Por suerte, syslog-ng es lo suficientemente flexible para enviar los logs a un programa externo, con la opción "destination ( program("..."); );", donde "..." es el comando a ejecutar y el log se le pasa por el standard input. La documentación misma dice que no mata el proceso, sino que lo deja corriendo en otro thread y cuando el syslog-ng recibe una SIGTERM o una SIGKILL, recién ahí lo mata.

Tenía toda la info, sólo faltaba escribir un bello poema en Python para cargar los logs en la BD. Además, tenía que responder a las señales de SIGHUP, TERM y KILL para cerrar la conexión a la BD. Esto es básicamente lo que hice:


#!/usr/bin/python

import sys, signal
import BDConnection

def handler(signum, frame):
salir = True

if __name__ == '__main__':
bd = BDConnection()
salir = False

# Programo las seniales a las cuales voy a responder
signal.signal(signal.SIGHUP, handler)
signal.signal(signal.SIGTERM, handler)
signal.signal(signal.SIGKILL, handler)

try:
while not salir:
input_log = sys.stdin.readline() # Acá se queda bloqueado esperando un \n
bd.insert(input_log.rstrip()) # rstrip vuela el \n
# El IOError se genera porque interrumpo el bloqueo del readline()
except IOError:
pass

bd.close()

Y funciona! De más está decir que hay que implementar la clase BDConnection, pero ustedes ya se dan una idea de cómo es. :-D

Saludos!