lunes, noviembre 28, 2005

Revelando

Curso de Fotografía

Hace unas semanas me inscribí en un curso de fotografía que estaba dando el Foto Club de la Universidad. Desde hacía varios semestres quería inscribirme en el curso, pero no había tenido tiempo, este semestre tampoco tenía, así que me tocó decidirme e inscribirme como sea, ya que de otra forma nunca lo iba a hacer. En fin, el curso es a la antigua, con cámaras analógicas manuales, yo he estado usando la magnifica Canon A1 de mi papá. Al principio quería comprarme una cámara digital, pero la verdad es que me he dado cuenta que la fotografía analógica tiene su encanto, por eso tengo pensado conseguirme una Canon AE1 o similar, que sea manual.

En una de las prácticas del curso tomamos unas fotos en blanco y negro por varias zonas de Popayán. Hicimos todo el proceso manual, desde la escoger objetivo, filtros, velocidad y diafragma, hasta el mismo revelado y copiado. Este último, el revelado, es uno de los aspectos más interesantes de la fotografía analógica. Todo el proceso que va desde desenrollar el rollo completamente a oscuras en la etapa de revelado hasta ver cómo va apareciendo lentamente la foto en el papel bajo una tenue luz roja en la etapa de copiado, es simplemente fascinante.

Esta es mi hoja de contacto de aquella práctica:
Hoja de Contacto

Esta es una de las fotos ya copiada en papel:
Foto de un Árbol

Mono Canvas

Después de varios meses de no tocar el código de MonoCanvas ni de MonoUML, ayer decidí volver al retomar el trabajo. MonoCanvas ha cambiado mucho desde la última vez que lo vi, Mario ha avanzado bastante. Durante el fin de semana desempolvé el repositorio del SVN y empecé a corregir algunos bugs y a refactorizar un poco el código. Por ahora el trabajo que falta es re-escribir la parte de los elementos anidados, la cual era la causante de varios bugs, tengo pensando crear una nueva clase aparte para ello. De ahí seguirá el trabajo con las conexiones, que es importantísimo.

Una cosa que todavía me preocupa es el rendimiento, pese a que se han corregido varios bugs en Mono.Cairo por parte del equipo de Mono, me parece que todavía hay mucho por mejorar, tanto desde la parte de MonoCanvas como del mismo Mono, en fin, creo que luego hay que dedicarle un tiempo a eso más adelante.

Avance en MonoCanvas:
Screenshot de MonoCanvas

DeStar

Continuando con el tema del rendimiento, últimamente me estoy dedicando a mejorar el de DeStar. Después de analizar detenidamente, por fin he dado con el cuello de botella, que es una sincronización entre datos y metadatos que tienen los configlets. Esta sincronización se requiere cada vez que un configlet es accedido o modificado. El proceso de sincronización es lento porque tiene que recorrer todos los configlets, y por cada uno, recorrer todas sus variables y sincronizarlas, además de otras tareas de bricolaje. El proceso puede llegar a tardar hasta cuatro minutos con una configuración relativamente compleja, lo cual es exageradamente lento. La solución al problema es obvia, cambiar el sistema de sincronización y manejar los configlets con una estructura de datos más apropiada. Sin embargo, esta solución implica reescribir una enorme cantidad de código, es el problema de los errores a nivel de arquitectura. Lo que he estado analizando es cómo podría disminuir el problema sin reescribir mucho código, se me han ocurrido varias ideas, pero han tenido resultados desastrosos, en fin, hay que seguir probando...

domingo, noviembre 13, 2005

Desocupandose un poco

Llevo bastantes días sin escribir nada. La verdad es que los últimos meses han estado bastante ocupado, por un lado estoy viendo varias materias en la universidad, de la cuales dos son especialmente consumidoras de tiempo: Telecomunicaciones 1 y Electrónica 1. Telecomunicaciones me quita tiempo porque el curso es básicamente el mismo que CCNA 1 y 2 que dan en la Academia Cisco, la cuestión es que en la AC cada curso se da en 80 horas, mientras que a nosotros nos están dando dos en escasas 60 horas, así que vamos muy rápido, prácticamente estamos teniendo dos exámenes de capítulo por semana. Lo bueno es que estamos viendo desde cómo hacer un cable UTP hasta cómo usar Ethereal. Electrónica, o sistemas digitales como se llama en otras partes, también absorbe el tiempo debido a que tengo que estar haciendo circuitos en protoboard, varios por semana, eso de estar pelando cables, y peleando con circuitos integrados defectuosos es bastante dispendioso, aunque divertido.

La otra razón por la cual he estado ocupado es que hace un par de meses empecé a trabajar medio tiempo. Estoy participando en el desarrollo de DeStar, una aplicación web para la administración de Asterisk. Estoy bastante contento con el trabajo, especialmente porque DeStar es software libre y porque está escrito en Python, y la verdad es muy agradable programar en ese lenguaje (o en Boo aún mejor, cuando se usa Mono). Por ahora, después del primer lanzamiento, mis contribuciones han sido bastante pequeñas, espero que poco a poco vayan aumentando.

Bien, ahora que ha pasado Octubre, que ha sido el mes más ocupado, creo que voy organizando las cosas y sacando tiempo para otros proyectos. Por un lado quiero retomar el trabajo en MonoCanvas, el cual no toco en meses, veo que Mario ha trabajado bastante en esta parte y eso me motiva a continuar con el trabajo. Por otro lado, la comunidad de Mono Colombia se ha reactivado, en gran parte gracias al encuentro que tuvimos algunos miembros en la pasada IV Semana Linux de la Universidad Distrital en Bogotá. Por ahora estamos pensando en comenzar un proyecto, espero que no nos dispersemos y podamos llegar a algo.