el blog de cHagHi

(el rejunte on-line de todo aquello que deseo compartir)

 

Mundo virtual

Como parte de los freebies que Lucio y Alecu trajeron de PyCon 2007, y que repartieron en la última reunión de PyAr, me ligué una licencia de VMware Workstation 5.5. Así que hace un par de semanas la instalé en la laptop, y estuve experimentando un poco.

Tiempo atrás había estado jugando un poco con VMware Player, que es el producto gratuito, y también con QEMU, una alternativa OpenSource que funciona bastante bien (y es el core de algunos features nuevos de virtualización que se están integrando directamente en el kernel de Linux), pero que realmente carece de herramientas amigables para usarla. Eso, sumado a las limitaciones de VMware Player, y que mi desktop no es muy rápido, hicieron que en aquel momento no pueda jugar mucho.

Antes de eso, la última vez que había usado VMware había sido en el laburo anterior. Hace más de 4 años. Y era tan, pero tan tan tan lento, que no pasaba de una curiosidad tecnológica.

Hoy, en mi laptop, con un micro más poderoso, y una herramienta de virtualización más nueva, lo primero que digo es "guau!". Cómo avanzó esto de la virtualización. Con razón está causando tanto "ruido" en el mundo de IT como opción para bajar costos, y con razón están surgiendo tantos proyectos... la performance es casi-nativa. Buenísimo.

Para ampliar el horizonte, quise evaluar también algunas de las alternativas comparables a VMware en funcionalidad, pero libres. El candidato número uno era Xen, pero en mi caso no me sirve, porque depende sí o sí de un micro con las extensiones de virtualización de Intel o AMD, cosa que yo no tengo. Así que me puse a probar VirtualBox, que es un producto muy nuevo, de una empresa alemana, que se basa en parte en QEMU, pero agrega toda (o gran parte de) la funcionalidad de Vmware Workstation.

En mi situación, donde no necesito sí o sí una herramienta de virtualización, y las estoy evaluando para "ver que onda", con el objetivo de máxima de transformar mi Windows XP de la laptop en una máquina virtual dentro de Linux (para lo poquísimo que uso Windows en forma personal, hincha bastante las pelotas tener que rebootear cuando quiero usarlo), la decisión está peleada. En performance son muy parecidos. VirtualBox viene avanzando rapidísimo. VMware tiene más pulidas algunas cuestiones, como la integración con herramientas de desarrollo de software (para hacer cosas como debuggear una aplicación corriendo en el guest dentro de VMware desde el VisualStudio instalado en el host), el manejo de snapshots, herramientas para manipular la VM una vez creada, etc. Pero VirtualBox tiene mejor soporte para algunos detalles menores (USB me anduvo de una, en VMware no, el sonido en VB me anduvo de una, en VMware no, el touchpad, el teclado, el driver de video, me gusta más como funciona en VB, y cosas así).

Y pinta que están pesando más esos detalles menores, ya que las funcionalidades extra grossas igual no las uso, así que no me importa si (por ahora) VB no las tiene. Además, *hoy* tengo una licencia "free" de Workstation... pero ya salió la versión 6, y el upgrade sale USD 100.- que no pienso gastar ni a palos solo "para probar". Y las opciones gratuitas de VMware son más limitadas que VB. Con lo cual si me caso con VMware Workstation, me voy a quedar atrás (en la versión 5.x), o tarde o temprano voy a tener que migrar a una versión superior... y para hacerlo en forma legítima, tendré que poner bastante dinero. No, gracias.

Así que hoy por hoy la mejor opción de virtualización para alguien que no necesita soporte de 64 bits, ni tiene un micro con extensiones de virtualización, que entra en el target de "hobbista", y no quiere gastar plata, parecería ser VirtualBox.

Veremos si en algunas semanas más este producto se transforma en la "casa" de mi Windows XP Home.

 

Y ya que estamos, un año antes escribía: Seguimos transmitiendo desde España

El primer profesional de IT...

¡Es buenísimo!

Dell ofrecerá Ubuntu 7.04 pre-instalado

El anuncio de prensa de hoy de Dell, marca todo un hito en la historia de Linux. Si bien hace mucho tiempo que proveedores de hardware preinstalan alguna versión de Linux en algunos modelos de PCs o laptops, es la primera vez que se combinan dos cosas:

  • Estamos hablando de un vendedor main-stream (Dell), con presencia mundial y llegada a muchos (sino todos) paíes.
  • Se hace oficialmente a través de la empresa detrás de la distro (en este caso, Canonical), con programas de certificaciones y soporte;

Impresionante.

Tal como recapitula el anuncio, todo comenzó en febrero: Dell tuvo la iniciativa de poner en línea un sitio web en el cual sus clientes podían participar proponiendo ideas sobre nuevos productos. Y fue enorme la cantidad de gente que dijo "quiero Linux preinstalado". Y Dell escuchó. A partir de ahí, hubo varios comentarios oficiales de Dell, diciendo "Los escuchamos, y lo estamos evaluando". Y parece que era verdad.

Desde el punto de vista tecnológico, no me sorprende: Mi laptop funciona de maravilla con Ubuntu (y por caso, estoy seguro que funcionaría igual de bien con cualquier otra distribución reciente), y el tema es aún más fácil en desktops. Los puntos ríspidos son los de siempre: nVidia, ATI, Broadcom, los winmodems... pero hoy, si uno no se pone religioso con lo de "free software", y acepta por ejemplo el driver oficial de nVidia (de código cerrado), las cosas funcionan muy bien. Hay workarrounds. Igual, imagino que aunque sea para facilitar el mantenimiento y soporte de los equipos, Dell priorizará aquellos productos en los que tiene un stack de hardware más fácil de soportar, como por ejemplo, un chipset 100% Intel.

Desde el punto de vista comercial, tampoco me sorprende: Hacía rato que estaba esperando que algo así pasara, ya que si bien el mercado de Linux no es enorme (comparado con el de Windows), es obvio que estratégicamente la primera empresa que se vuelque a ofrecerlo en forma masiva, se va a ganar la simpatía de una comunidad de usuarios que suele hacer mucho ruido, y suele ser muy idealista. ¿Adivinan que empresa va a recomendar ahora cualquier "geek" usuario de Linux a sus amigos / familiares no-geeks? Adivinaron. El otro plus, es que en esa comunidad hay muchísimos desarrolladores. Muchos. Y los desarrolladores son muy importantes... (¿se acuerdan de un tal Steve Ballmer a los gritos en un escenario? yo sí). Con este movimiento, Dell se está poniendo a una buena porción de la comunidad Linux en el bolsillo. No me caben dudas. Y Canonical da un enorme paso que lo ayuda a consolidar su nicho de "orientado al usuario" (en contraste con Red Hat / Novell, que apuntan más al mercado enterprise).

¿Entonces? ¿Por qué esto no pasó antes?

Creo que por un lado, Linux no estaba listo. Hace un par de años, o más, hubiera sido comercialmente inviable para una empresa como Dell ofrecer Linux. Aún había muchas aristas que pulir. Ojo, el OS en aquel entonces ya era excelente para desarrolladores, entusiastas, gente que venía del mundo UNIX y usuarios avanzados. Pero NO para doña Rosa.

Además, la fragmentación de Linux, con las decenas (¿centenas?) de distros existentes, nunca ayudó. Hoy, si bien sigue habiendo múltiples opciones, fueron surgiendo "líderes". Y Canonical viene consolidándose en un terreno que Red Hat y Novell nunca pudieron / quisieron. Y Dell, para ofrecer algo así, necesita tener del otro lado a una empresa. No le sirve la "comunidad XXX".

Y por último, esto no hubiera pasado si Microsoft no se hubiera debilitado un poco. En el medio, Dell también creció. Ojo, igual, cuando entren a la página de Dell, verán propaganda de Windows Vista por todos lados... y está ok. Pero la realidad es que Microsoft tardó demasiado tiempo en salir al mercado con Vista, y los vendors (como Dell) y los usuarios están teniendo problemas. Y así como Dell hace propaganda al Vista pero "por atrás" sigue vendiendo equipos nuevos con Windows XP, ahora va a elegir algunos productos de su línea y les va a poner Ubuntu. Hay una realidad, y es que MS ya no tiene la fuerza de antes para imponerle a cualquiera cualquier cosa a cualquier precio. Menos a Dell. Menos cuando MS no puede aplicar su trillada estrategia de "comprar al enemigo" (ya le gustaría a MS poder "comprar" Linux y guardarlo bajo 7 candados... pero no, no está en venta), o copiarlo (¿se imaginan a MS dando su código fuente libremente?)

¿Qué haremos esta noche, Cerebro?

Nuevo diseño

Hacía unas cuantas semanas que venía cocinando este, el nuevo diseño del sitio.

Siempre me faltan "5 pa'l peso", así que no lo instalaba. Durante el finde hice varios retoques, y si bien las cosas aún no están 100% como querría, decidí igual instalar el nuevo template. Con un poco de suerte, usándolo termino de pulir todos los detalles, y los lectores regulares hacen saltar todos los bugs (sobretodo con MSIE sobre Windows).

Este nuevo layout pretende ser "elástico", en el sentido que no es "fluído" (como el diseño anterior, que se estiraba a toda la pantalla, fuera esta lo ancho que fuera), ni tampoco es "fijo". Si tienen una resolución alta, se va a estirar, pero hasta cierto punto máximo. Y para abajo, las cosas están pensadas para que se vean (relativamente) bien en 800x600, que sigue siendo una resolución muy usada.

¿Por qué todo esto? Se juntaron 3 cosas: Quería hacer un cambio visual, meramente desde lo estético. Quería limpiar un poco el layout del diseño anterior, ya que no andaba muy bien en IE, se "rompía" fácilmente al insertar imágenes o algún otro contenido sin tener cuidado con los tamaños, y era un lío a nivel CSS (con un montón de definiciones que no usaba, ni sabía para que estaban), y a nivel HTML también. Quería mejorar la usabilidad/legibilidad, y tener un texto "estirado" ocupando 1200 pixels o más no es algo que contribuya a esto (no por nada los sitios de los diarios meten columnas, como en la edición impresa...)

Estuve investigando bastante, leyendo, probando distintos CSS, buscando ideas, probando templates de LifeType de distintos autores... y finalmente, llegué a esto. Es una mezcla del theme de WordPress lineSide, de Nurdin Jauhari, que migré a LifeType, más algunas ideas de layouts "elásticos" que fui mezclando (el diseño original de Nurdin es de ancho fijo), en particular, del blog de Roger Johansson, un señor que sabe de estas cosas y me cae simpático porque es sueco :)

Y así queda, más o menos. Hay unos cuantos detalles por pulir. Bastante contenido de la sidebar que saqué, y que todavía tengo que decidir si reincorporo (banners, links, etc.). Tengo que terminar de experimentar como se ve en Windows, en particular respecto a las fuentes que estoy usando. Tengo que implementar un CSS para impresión. Quiero meter algún "badge" de Flickr con fotos. Y más.

Pero todo eso, lo iré resolviendo de a poco en los próximos días. Mientras tanto, salimos así, medio en beta. Si encuentran algo definitivamente roto, o muy feo, avisen. Y obviamente se aceptan sugerencias / críticas respecto al cambio.

 

Y ya que estamos, un año antes escribía: ¡Es cierto! ¡Tenía una página en Geocities!

Ubuntu 7.04 - Feisty Fawn

Terminé mi serie de upgrades de Ubuntu 6.10 a 7.04, los cuales son esencialmente 2 :p (mi desktop y mi laptop).

Creo que con este upgrade terminé de aprender, o de convencerme, que una línea de ADSL 256 NO es apta para actualizar un OS completo. Es MUY lento, y el upgrade es un proceso "atómico", en cuanto implica la descarga de centenas de archivos, y cuando la ventana de actualización es de más de 8hs, hay muchas cosas que pueden salir mal. Y el upgrade no es un proceso que sea cancelable/resumible así nomás.

Con el desktop, me pasó que últimamente vengo con problemas de temperatura, y se apaga. La semana pasada cambié la fuente, que estaba andando decididamente mal, y supuse (parecía) arreglado. Bueno, no :( El sábado a la tarde inicié el proceso de upgrade vía internet, y seguí con mis cosas. A la noche, cuando volví a casa, seguía descargando. El domingo a la mañana, la PC estaba apagada. Damn. Y lo que es peor, ya no booteaba. Se apagó en medio de la instalación, no del download, con lo cual, mitad de los paquetes estaban actualizados/instalados, mitad estaban desconfigurados pendientes de instalación, un desastre.

Pero, esto es GNU/Linux, y el upgrade no hace nada de magia negra... tan solo baja los .deb nuevos, y luego, ejecuta una enooooooorme transacción de apt que los instala/configura. Así que lo que hice fue iniciar con el Live CD de Ubuntu 6.04 (Dapper Drake), montar mi partición root de disco, hacer un chroot, y reiniciar la configuración de paquetes pendientes. Eso anduvo... a medias. Es que por desconocimiento, no monté los filesystems /proc y /sys, y la mitad de los scripts de post-instalación fallaban por eso. Después de innumerables intentos, llegué a un entorno chrooteado "sano", y pude terminar.

Si te pasa lo mismo, la secuencia de pasos correcta sería, desde una consola del LiveCD:

$ sudo mkdir /target 
$ sudo mount /dev/mapper/lv_root /target   #reemplazando /dev/mapper... por el dispositivo que contenga el filesystem root 
$ sudo mount /dev/hda2 /target/boot #opcional, solo si tenés /boot en una partición independiente, y (obviamente) reemplazando /dev/hda2 por lo que corresponda en tu caso 
$ sudo mount -t proc proc /target/proc 
$ sudo mount -t sysfs sysfs /target/sys 
$ sudo modprobe dm-mod # opcional, si tenés un array o usás LVM2 
$ sudo chroot /target

y luego, desde el entorno chroot

# dpkg --configure -a # para terminar de configurar los paquetes que estén pendientes
# aptitude update && aptitude upgrade && aptitude dist-upgrade
# aptitude dist-upgrade # por las dudas...
# apt-get -f install # también x las dudas...

y listo.

El otro tema, es que según como tengas la partición/boot, desde el chroot puede verse diferente, con lo cual al instalarse las imágenes del kernel, el menú del gestor de arranque puede quedar mal configurado. En mi caso, quedaba con referencias a /boot/linux-image-... cuando en realidad es /linux-image-...

Antes de reiniciar por primera vez, conviene verificar en /target/boot/grub/menu.lst que todo esté ok.

Finalmente, anduvo todo joya. No perdí datos (obvio), y mejor aún, no perdí configuraciones / customizaciones, y se actualizaron todos los programas ok. Mi PC había quedado actualizada a Fesity Fawn. Se sigue apagando después de 6 a 8 hs de funcionamiento continuo... pero por supuesto eso no es problema de software.

En base a esa experiencia, para la laptop tomé un camino diferente: Bajé la imagen ISO del CD alternativo de instalación, monté el ISO como si fuera un CD (jeje... ni siquiera me tomé el laburo de quemar un CD real), y disparé el Upgrade desde CD. Con eso, TODOS los paquetes base ya los tenía de una, con lo cual, el instalador solo bajó de internet las cosas accesorias (así y todo, fueron más de 250Mb de descarga). Pero fue mucho más rápido / confiable. Y no tuve que embarrarme las manos en una consola (ok, solo un poquitito, para montar el ISO, pero eso es solo un comando... casi que no lo contamos, ¿no?)

Tarea cumplida. Mis dos compus están actualizadas a la última versión de Ubuntu. Todavía no pude apreciar mucho las mejoras, más allá de lo que es puramente look&feel (el artwork está más pulido).

 

Menúes... ese "horror cómico"

Estoy leyendo A Time Odyssey, una colaboración entre Arthur C. Clarke y Stephen Baxter, compuesta por dos libros: Time's Eye y Sunstorm. Excelentes. Ya terminé el primero, me falta menos de la mitad para el segundo, y ya haré en su momento un post más específico para comentar sobre los libros en sí. Pero el objetivo de este post era compartir este pasaje:

(uno de los personajes, reflexionando sobre un dispositivo electrónico —no importa cual—)

" [She] had laughed at the gadget's antiquated user interface —it actually featured that comical horror, a menu system— but it worked well enough."

Me hizo reflexionar bastante, porque hoy en día, con más o menos animaciones, con más o menos chiches, TODAS nuestras interfaces de usuario (o al menos, la enorme mayoría) se basan en algún tipo de menú de opciones. 

BTW, en el futuro-no-tan-lejano pintado por Clarke y Baxter en esta historia, a los dispositivos electrónicos, sencillamente se les habla. :)

 

Los desarrolladores de Evolution deberían leer el Zen de Python

Desde que instalé Ubuntu en mi laptop que vengo tratando de hacer que Evolution empiece a filtrar correctamente el correo basura. Como me gusta más bogofilter que spamassassin (porque consume MUCHOS menos recursos), activé el plug-in correspondiente, desactivando el otro (spamassassin es el default). Además, instalé el paquete bogofilter, y le di un curso rápido de spam vs. no spam alimentándolo con varios cientos de mails "buenos" y mails "malos" que tenía guardados. O sea, hice todos los deberes.

Y sin embargo, nada. Todos los días terminaba con el inbox lleno de correo basura. Los primeros días no le dí mayor importancia, porque bogofilter es un filtro estadístico, y necesita aprender. Pero... después empecé a sospechar, porque primero que aprende RAPIDO, y por otro lado, yo le había dado un "curso acelerado" de entrada.

Empecé a escarbar, y encontré que la base de datos que se va alimentando con el correo basura no estaba siendo actualizada. Incluso si yo manualmente marcaba un mail como spam, la base de datos seguía teniendo el mismo tamaño, fecha y hora de modificación con los que había quedado luego de mi importación inicial de mensajes.

Empecé a googlear para tratar de encontrar si a alguien le había pasado lo mismo, y nada. Hay varios problemas con el filtro de spam en Evolution, todos relacionados con que suele ser algo que por un motivo u otro no anda bien de entrada, pero no encontré nada respecto a mi problema específico.

Hasta que se me ocurrió correr a Evolution desde la línea de comandos, para poder ver los mensajes que tiraba, si es que tiraba alguno. ¡Bingo! Cada vez que yo marcaba un mensaje como spam, Evolution decía que no podía ejecutar el filtro de spam porque no encontraba el programa /usr/bin/bogofilter

¿Cuál era el problema? Que yo había instalado bogofilter-sqlite, la versión de bogofilter que usa SQLite como backend para almacenar los mensajes, en lugar de la versión que usa BerkeleyDB. Y el ejecutable de esa versión es... /usr/bin/bogofilter-sqlite 

Fácil de arreglar. Solo tuve que crear un link simbólico y listo. Pero...

No debería haber tenido que correr Evolution desde la línea de comandos para enterarme que algo estaba fallando "por atrás". Si yo activé un plug-in, y al disparar en la GUI un comando se ejecuta el plug-in, y el plug-in falla porque no encuentra un archivo, YO QUIERO VER UN ALERTA EN LA GUI.

El Zen de Python, entre otras cosas dice:

Errors should never pass silently.
Unless explicitly silenced.

Sabias palabras Mr. Tim Peters. Muy sabias palabras.

(Launchpad bug: #81581

Y ya que estamos, un año antes escribía: Migrando la página de PyAr a MoinMoin :: ¿en qué ando?

Ubuntu 6.10 en Dell Inspiron 640m

Este es un resumen de la configuración de Ubuntu 6.10 en mi nueva laptop. Hace unos días había dicho que pretendía instalar Feisty Fawn (la versión de desarrollo de Ubuntu 7.04, que está en alfa 2), pero un bug en el actual kernel de esa versión me impidió hacerlo. Probablemente vuelva a intentar con alguno de los próximos alfas (hay previstos 5, creo).

Entonces, volviendo al tópico que nos ocupa, vamos a ver como me fue instalando, en lo que respecta al soporte de hardware. Fue toda una experiencia: Primera laptop, primera vez que instalo un OS en una laptop, y atrás, tenía el historial de haber ido siguiendo (en foros, listas de correo, blogs y demás) la evolución de Linux en este tipo de hardware... que ha hecho montones de progresos, pero tiene en su haber algunos capítulos tortuosos :)

En mi caso en particular, decidí usar el CD de instalación "alternativo", ya que quería absoluto control sobre como particionar el disco, y además, quería configurar LVM.

Preparación del disco

  • Defragmenté la unidad C: de Windows
  • Inicié un Linux reciente desde CD (en mi caso, usé el LiveCD de Ubuntu 6.04)
  • Usando el editor de particiones de Gnome, achiqué la partición de Windows a 20GB, sin tocar nada más. Mi intención era achicarlo más... pero finalmente lo dejé de 20GB por si decido instalar un stack completo de desarrollo de .NET. Así todo es un montón de espacio.
  • Reinicié Windows, y dejé que el scandisk chillara e hiciera su trabajo al encontrarse con que le habían tocado su disco por afuera. ¡Maricón! :p

Una vez que me aseguré que Windows seguía feliz en su casa achicada, volví a arrancar con Linux, y ahora sí, realicé los otros cambios:

  • Eliminé la partición de Dell MediaDirect;
  • Eliminé la partición de recuperación de Dell;

¿Por qué hice esto en 2 pasos? Porque ajustar una partición NTFS sigue siendo algo relativamente experimental. Con lo cual, quería tocar lo menos posible la tabla de particiones antes de dejar que Windows pudiera verificar su unidad.

Instalación de Ubuntu 6.10

No voy a cubrir el proceso de instalación (menos el del Alternate CD) acá; solo mencionaré algunos detalles (que no necesariamente son aplicables a todo el mundo, en particular en cuanto al layout de disco).

  • Use el modo de particionado manual. Creé una partición extendida ocupando todo el espacio que quedaba. Dentro de esta, creé una partición de 100MB para /boot, y otra de 1GB para swap. En el resto, creé un grupo de volúmenes LVM, con 3 volúmenes lógicos: Uno de un tamaño inicial de 10GB para /root, otro de 4GB para /home, y el último de 20GB para /opt. El resto del disco quedó dentro del volúmen físico, pero sin asignar. Eso me permitirá agrandar o achicar las particiones de Linux dinámicamente en función del espacio que vaya necesitando.
  • Cuando llegó el momento de instalar GRUB (el boot manager), elegí instalarlo en la partición /boot, y NO en el MBR. Esto lo hice para no correr el riesgo de perder alguna funcionalidad en el arranque manejado por Dell. Quizás fui demasiado paranoico. La verdad, no lo sé :)

El resto de la instalación... sin novedades.

Configuración del arranque

Si uno instala GRUB en el MBR, listo. Pero si no, se termina con un Linux instalado pero sin poder arrancarlo. Hay que "enseñarle" a NTLDR (el boot manager de Windows) a hacerlo. Esto está explicado en miles de lugares, pero básicamente los pasos son:

  • Iniciar con un Linux desde CD;
  • Copiar el primer sector de la partición de arranque de Linux en un archivo;
  • Arrancar Windows;
  • Copiar el archivo que contiene el sector de arranque de Linux en C:, y configurar una entrada en el boot.ini haciendo referencia a ese archivo;

Probando Ubuntu. Ajuste fino

Listo. Solo faltó arrancar Ubuntu, y entrar a probar. Anduvo prácticamente todo "out-of-the-box":

  • Touchpad;
  • Notificación de estado de la batería;
  • Ajuste dinámico del brillo de la pantalla al (des)enchufar la laptop;
  • Hibernación;
  • Suspend;
  • Detección del cierre de la tapa;
  • Teclas especiales de la laptop;
  • Manejo de la frecuencia de clock de la CPU en función de la demanda;
  • Placa de red;
  • Lector de tarjetas;
  • ... en fin, todo. O casi todo.

¿Entonces...?

¿Qué no anduvo, o no anduvo bien?

Básicamente 3 cosas:

  • Resolución correcta del LCD (en formato wide). Tuve que instalar el paquete "915resolution", reiniciar el modo gráfico, y salió andando. Hay reportes de que en las últimas versiones de Xorg, si cambio el driver "i810" (que es el default para la placa integrada Intel 950) por "intel", no hace falta el 915 resolution, pero no lo probé. Primero quiero investigar que otras diferencias tiene un driver respecto del otro.
  • Placa de red inalámbrica. Acá el problema es que no se instalaron los módulos restringidos del kernel. Solo tuve que instalar el paquete "linux-restricted-modules-generic", y reiniciar. Y listo. A partir de ahí, anduvo todo, hasta la autenticación WPA (yo tuve que pelearme un rato con eso, pero por ignorancia mía...)
  • Ajuste del brillo de la pantalla "a mano", usando el teclado. Aparentemente es un bug del módulo de gestión de energía del kernel que se disparó partir de cierta versión de BIOS de Dell (en laptops con BIOS anteriores funciona ok). Acá es donde tuve que hacer magia negra: agregar el módulo "video" a la lista negra de módulos en /etc/modprobe.d/blacklist. No entiendo muy bien por qué, ni que otro efecto colateral tiene eso (si tiene alguno, no lo he notado), y no deja de ser un workaround feo, pero anda. Ahora puedo apretar Fn+Up o Fn+Down y manejar el brillo de la pantalla sin problemas.

¿Conclusión? Una maravilla. 100% del hardware autodetectado, configurado y funcionando correctamente, con solo 3 ajustes manuales.

Incluso activé AIGLX en la configuración gráfica, e instalé Compiz. Funciona perfecto. Efectitos 3D, transparencia, blah, blah. Todo el eye-candy de moda. Tengo algunos glitches con la hibernación y el suspend (no funcionan 100% ok el 100% de las veces), pero dejando de lado eso, está todo super estable. Ningún cuelgue, ningún error crítico. Nada.

Y estoy absolutamente maravillado con la performance de este bichito, a pesar de que el gestor de energía del kernel me pone los dos cores al 50% de su velocidad la mayor parte del tiempo. Tengo que hacer algo muy muy pesado para que el kernel diga "ok, necesitás más procesador, te voy a dejar usar el 100% de lo que compraste" :p Y en ningún momento tuve problemas de performance. La ventaja de dejar que el kernel haga su laburo a demanda, es que como consecuencia de tener los cores de la CPU laburando al 50%, el equipo trabaja re-silencioso (casi nunca se encienden los ventiladores), y apenas tibio. No calienta prácticamente nada.

Ubuntu 6.10 en Dell Inspiron 640m

Por último, hay algunas cosas que aún no probé (algunas ni siquiera en Windows), y no se si funcionan ok o no:

  • Modem
  • El slot ExpressCard (no tengo con qué...)
  • La salida DVI
  • La salida VGA
  • La grabación de CDs/DVDs (la reproducción anda perfecto; la grabación de CDs la probé en Windows; la grabación de DVDs no la probé en absoluto)
  • La entrada de micrófono
  • La salida de auriculares (ups! mientras escribía esto dije "probémoslo ahora". Y me acabo de dar cuenta que el enchufe no es estándar. ¿Eeeehhhh? ¿Acaso hay un mini-plug de audio más mini que el estándar de diskmans y reproductores de MP3? :( Nada. Era cuestión de hacer más fuerza nada más... :p)

 

CaFeCONF 2006 - Promoviendo Python

Uffff...! Que findesemanita! Estoy volviendo a mi casa luego de un rally de 3 días, en el que prácticamente no paré un minuto. Ok, hubo ratos (literalmente) en los que estuve en mi casa en los últimos días, pero recién ahora puedo sentarme, mirar atrás, y poner en blanco y negro un fin de semana excelente.

El viernes y sábado se realizó la 5ta edición de  CaFeCONF, el evento anual que organiza CaFeLUG (Grupo de Usuarios de Software Libre de Capital Federal), para promover, disertar e informar sobre Software Libre.

Python, y por lo tanto, PyAr, tuvo una participación notable en el evento: La única charla plenaria, la "keynote" del evento, fue sobre Python, y brindada nada menos que por el mismísimo Alex Martelli, que vino gracias a Google, la Python Software Foundation, y... en el fondo, gracias a las gestiones que inició Facu. También tuvimos una charla de su esposa, Anna Ravenscroft. Y la charla de introducción a Python de Facundo, Y la charla sobre PyWeek de Alecu. Y la de Oveja Eléctrica de Yaco. Y John Lenton, en su debate sobre Como Hacer Plata con Software Libre.

Tuvimos nuestro propio stand, estrenando bandera, e informando a un montón de gente que se acercó muy interesada, y que estuvo jugando un poco también.

Socialmente, pude conocer a Sebastián Bassi, a John y Antony Lenton, a Manuel Kaufman, gente de Córdoba y Santa Fé que yo hasta ahora conocía solo por la lista.

CaFeCONF 2006 - Stand de PyAr

Organizamos la reunión 19, aka "La Internacional", con varias personas que se pudieron acercar por primera vez a una reunión, aprovechando que estaba en Baires. Y obviamente celebramos la reunión con Alex y Anna.

PyAr - Reunión 19

Y como si todo esto fuera poco, el domingo hicimos un asado con un grupo de amigos (que son miembros de PyAr, pero que gracias a eso, hoy son más amigos que otra cosa) para homenajear a Alex y Anna, y que no se fueran de Argentina sin probar un asado, y sin ver, más allá de comer buena carne, como es toda la "liturgia" del asadito.

Asado para Alex y Anna

Estoy extenuado, pero muy contento. Creo que hicimos un buen papel difundiendo Python (y los primeros mails de gente nueva que están entrando a la lista de PyAr mientras escribo esto parece confirmarlo), y a su vez, nos quedamos con la sensación de que "se subió la apuesta", y ahora tenemos que estar a la altura de las circunstancias. Al "core" de PyAr también le ha servido para iniciar el debate de como sigue la historia a futuro, y que más podemos hacer para seguir consolidando PyAr.

Tenemos en el tintero algunas ideas de capacitación, y medios alternativos de difusión de nuestras actividades  que esperamos poder consolidar en los próximos meses.

 

 

Puliendo detalles

El plugin tagcloud que se menciona en este artículo fue desactivado el 23/11/06 hasta nuevo aviso. Permanentemente tenía que agregar a la lista negra palabras que son frecuentes en lo que escribo pero que no tienen relevancia semántica como "tag", y por otro lado, no funciona correctamente con caracteres acentuados.

Continuando con las pilas renovadas por el cambio de hosting, estuve haciendo algunos cambios adicionales a los que comentaba acá.

Por un lado, pulí un poco más el nuevo sidebar para mostrar los últimos comentarios. Ahora es más visible el nombre o nick de la persona que lo hizo.

Además, agregué un nuevo plugin, tagcloud, el cual podrán ver en acción también en el panel de la izquierda, en la nueva sección ¿De qué hablo?. Fue divertido ponerlo a funcionar. Este bicho funciona contando las palabras más frecuentes en los últimos N posts, las ordena alfabéticamente, y a cada palabra le da un tamaño proporcional a su frecuencia. Es como una especie de categoría virtual. Además de la cantidad de palabras a mostrar, uno puede controlar: la longitud mínima que una palabra tiene que tener para que la contemple, cuántos posts tiene que evaluar, y además hay una lista de palabras a omitir.

El plugin viene con esa lista preconfigurada para inglés. Lo primero que hice, fue agregar todas las preposiciones del castellano. Y así y todo, estuve jugando como una hora, agregando los verbos comunes del español en varias de sus conjugaciones más comunes. El idioma español es mucho más rico y expresivo que el inglés; cuando hay que hacer estas cosas, se nota. Anyway, ahora muestra resultados más o menos relevantes. Costó, pero salió. ¿Acaso los sorprende ver cuales son las palabras (temas) más frecuentes en mi blog? ;) Bueno... a mí no, pero me sorprendió un poco que Python y PyAr no ranquearan mejor.

Cada palabra es un link a una búsqueda dentro del blog que retorna los artículos que contienen esa palabra. 

Y mientras estaba en eso... decidí hacer algo similar para las categorías. No pude encontrar publicado ningún plugin que lo hiciera, así que juntando mi experiencia de la semana pasada escribiendo ayearago, y robando MUCHAS ideas del plugin tagcloud, escribí categorycloud. Me encanta esa idea de ponderar una lista de palabras usando una "nube".

Hay un problema que me molesta bastante y todavía no pude resolver que tiene que ver con la hora en que quedan registrados los artículos y los comentarios. Pasa que arreglarlo implica reconfigurar algo en LifeType, pero al mismo tiempo, tocar a mano directamente en la base de datos la información de fecha/hora para los artículos y comentarios viejos. Algo que no pienso hacer hasta tanto no instale en mi máquina una instancia de MySQL en la que pueda bajar un backup de la base de datos del blog para probar el update tranquilo.

Sé que Facundo tiene en su lista de 10 cosas pendientes con su blog este tema también. Quien les dice... como últimamente está con pilas para Taniquetil, quizás me gana y hace ese ajuste primero, y después me pasa el script.