domingo, septiembre 16, 2007

He decidido quererte

Por tu hermosa sonrisa, tus piernas largas y tu piel morena.

Me encanta el tiempo que pasó contigo. Caminar juntos por la calle. Escucharte hablar de tus cosas y contarte las mías.

Cada suspiro que nace en mi pecho, ahora lleno de amor, tiene tu nombre. Y mi amor dura tanto como ese suspiro, y el que sigue, y el que sigue, y el que sigue... y si dejo de suspirar, entra al relevo un latido, y el que sigue, y el que sigue, y el que sigue....

Te quiero por que querer es libre
Te quiero por que querer es gratis
Te quiero por que no hay una razón para no hacerlo.
Te quiero por que soy feliz haciéndolo.

Solo sería más feliz si el sentimiento fuera recíproco.

Te quiero Karacas.

Finito.

miércoles, septiembre 05, 2007

De las tardes

Hace ya algunas semanas
que me llevan las mañanas
descifrarte en tu mirada y en tu voz
que nunca he sabido cuanto me has contado y cuanto no
cuanto solamente lo imagino yo
.

Cuanto tiene de ser cierto el paso a tus parques abiertos
y a las frescas sombras de tu pabellón
luego todo lo respondería esa tarde que me des
aun que solamente sea por una vez.

Entre amores y distancias
de entre sueños sin sustancias
y entre todo lo que no ha llegado a ser.

Si me dieras una tarde para conversar mejor
desdibujando las ropas con que vistes tu rumor
podría mirarme en tus ojos si te asomas hasta a mi
si te dieras una tarde, una tarde por aquí.

Si te tuviera una tarde
para abrevarme en la voz murmurante de tus fuentes
una tarde para dos, una tarde para siempre
por las tardes que no estás, por las tardes que no han sido
y por las que ya no te vas.

Una tarde solamente de tu vida
tan solo un instante de tu juventud
unas horas de tus horas y salidas
al quizás de un mutuo encuentro
que logremos ver adentro uno del otro
un quizás que tu volvieras realidad.

Una tarde que me dieras
cualquier tarde de este mes
para tardarme intentando
llevarte una y otra vez
aplicando con mis labios
en tus labios de canción
la balada del encuentro
del verano con la flor.

Quien te tuviera una tarde
para andarte, recorrer
las veredas, los atajos
en los campos de tu piel
recorriendo amante, valles, lomas
cauces de agua y flor
conquistando tus llanuras
toda una puesta de sol

Solo dame algún tarde
y yo me vuelvo una canción en tus labios.

Procurando y sorprendiendo
por todo el atardecer
tu sonrisa más bonita
si te dejas conocer.

Fernando Delgadillo

Nuevo anuncio de colaboración entre Novell y Microsoft

Miguel de Icaza anunció en su blog que se ha formalizado un acuerdo de desarrollo entre Novell y Microsoft para desarrollar versiones de código abierto de Silverlight que en el mundo Mono se conoce como MoonLight :P

De hecho, desde mucho antes se había iniciado la implementación de esta tecnología y en un memorable hack-a-ton el equipo Mono consiguió hacer realidad la idea.

Antes de que empiecen las críticas y malas ondas, es una realidad que Microsoft esta reconociendo que el trabajo en el proyecto Mono le está abriendo más puertas y ampliando los horizontes de muchos usuarios de las tecnologias .NET, obviamente este acuerdo busca conseguir más usuarios considerando el poco apoyo que Adobe brinda para Flash en plataformas de código abierto.

Solo como dato curioso, la imagen que usa Miguel en su post para indicar colaboración es la misma del header de La Cofradia.

Finito.

Nuevo número de Revista SL

Después de mucho trabajo por parte de un grupo de entusiastas promotores sale a la luz el número ocho de la Revista SL - Software Libre Hecho Revista, una publicación electrónica bimestral (bueno, casi) para difundir y promover el software libre.

Conocí la revista el año pasado y durante el FONASOL tuve el gusto de conocer a Zodman (aka Andrés Vargas) y a k001 (aka Ivan Zenteno) con quienes platique largo y tendido. Posteriormente me llegó la invitación para participar en el proyecto y en esta ocasión me di a la tarea de encontrar y corregir (o más bien: desmejorar) los artículos a publicar.

Pues bien, invito a todos a leerla, comentarla, distribuirla y sobre todo a participar.

Finito.

lunes, septiembre 03, 2007

201

El post anterior fue el número 200 en este blog. ¡Wow! Cien posts más desde septiembre del año pasado.

Casi un año y como ha cambiado mi vida no así mis ganas de seguir compartiendo mis ideas tecnológicas en este espacio. Para mis telarañas existenciales estoy por abrir un espacio adicional que en breve estaré anunciando por este canal.

Gracias a todos los lectores, ocasionales y regulares por llegar a este espacio. Espero que en algún momento un post les haya sido de utilidad. Con eso me doy por servido y contar con su visita de vuelta es un enorme placer.

Finito.

Bitácoras, Trazas, Logs, Logging

Una consabida forma de ver que sucede con tus programas es "pintar" los valores de tus variables. Esta rústica forma de depurar también tiene otra acepción: loggear :S

¿Quién dijo que poner System.out.println (javeros) o Console.WriteLine (.net) por cada línea es manejar una bitácora? No lo sé, pero en los ambientes java (que es lo que tengo más cercano) tenemos mega-archivos log de cientos de megabytes generados con poderosos System.out.println statements. Logging is cool!

Pero, eso no es logging. En casi cada aplicación "grande" o "empresarial" (lo que sea que significa esto) se incluye algún mecanismo de bitácoras. Agregar sentencias de rastreo es un mecanismo de "bajo nivel" para depurar código. Puede ser que sea la única opción por no existir un depurador para la plataforma o por que ya se trata de un ambiente multitarea/multihilos.

En el caso de una aplicación ejecutándose en un ambiente de producción, tampoco se puede hacer uso de herramientas de desarrollo o depuración. Casos así requieren que se le otorgue a los administradores u operadores herramientas que les permitan monitorear el comportamiento de los sistemas.

Para hablar de logging se requiere cumplir una serie de requisitos. Uno de ellos son los "contextos", entidades que contienen la información precisa de la ejecución de la aplicación. También se requiere distinguir diferentes niveles de severidad, desde el error fatal hasta mensajes de depuración; estas características deben poder configurarse fuera del código de la aplicación, es decir, en los programas incluimos todas las llamadas de rastreo que consideremos pero dependiendo de la configuración se van ir grabando las seleccionadas.

También tiene sus desventajas. El registro de entradas en archivos o bases de datos consume tiempo de procesador, llamadas a dispositivos que finalmente se ve como un cierto grado de lentitud en la aplicación. Si se registran demasiadas entradas, el log se torna ilegible. Si se filtran demasiados niveles de severidad, puede ser que se pierdan elementos que podrían auxiliar a resolver problemas.

Como ya es costumbre, el mundo java ha pasado por esto antes y gracias a la colaboración de muchas personas se construyó un framework para este tipo de necesidades. Ha sido tal el éxito de esta iniciativa que se desarrollaron componentes similares para otras plataformas y lenguajes (C++/PHP/Ruby) e incluso se incluye en algunos productos comerciales, BEA WebLogic Server por ejemplo (aunque ninguno de los programadores que conozco lo usan, siguen con sus pinchis println's) y obvio, también se construyo para .NET.

En este caso, log4net respeta todos los principios de su ancestro log4j y tenemos archivos de configuración, contextos, jerarquía de loggers e implementaciones de "appenders" que nos permiten tener diferentes destinos para nuestros logs. Ahora si, "logs".

El primer ejercicio de muestra del uso de log4net lo pueden encontrar en mi repositorio de ideas Google Code. Mediante subversion pueden obtener una copia de trabajo y trastear un rato con él.

Finito.