Una decisión

El otro día me encontré, como nos tiene acostumbrados Anibal Cuevas, con un excelente post sobre el matrimonio, que me pareció una muy buena idea compartirlo con ustedes.

A veces encontramos en las parejas ésta concepción de lo que es el amor: “te amo porque así lo siento”. Según esta definición el amor es un sentimiento. El problema con esta concepción es que los sentimientos son impredecibles: hoy sentimos algo, pero mañana quizá no. Los sentimientos quizá sean lo más inestable que tiene el hombre. Por lo tanto si el amor es un sentimiento, y si mi pareja dice que me ama, es porque ahora lo siente así, pero mañana o pasado los sentimientos se irán. En algún momento el o ella me faltará el respeto, me ofenderá, me decepcionará… y no hay forma de mantener los sentimientos en alto en esas situaciones. Entonces ¿qué pasó con el amor?

Por supuesto que en las parejas donde “el amor es un sentimiento” las cosas no son tan caóticas. Pero sí bastante confusas. A veces no se entiende por qué uno está con el otro, después uno está totalmente convencido, y otra vez desanimado, y así. Esto pasa cuando son los sentimientos los que dirigen.

Por supuesto que la parte sentimental es muy importante en el amor, pero esto es distinto a decir que el amor es un sentimiento. En realidad, el amor es una decisión. En vez de decir “te amo porque así lo siento”, digo “te amo porque después de conocerte en todo este tiempo que pasamos juntos, he tomado la decisión de amarte”. En este último caso, si la decisión es firme y fundamentada, una decepción u ofensa del otro no hace caer al amor, porque éste no depende de un sentimiento, es una decisión mía. Yo quiero amarte. Yo lo decido.

Estas son las palabras finales de Cuevas en el post citado:

[…] sin duda los sentimientos deben ocupar su lugar en el amor, pero nunca deben ser guía de decisiones. No debemos permitir que sea el corazón quien nos guíe, debemos ser nosotros quienes le guiemos a él.

Amar significa comprometerse a diario, no sólo cuando el sentimiento acompaña. Significa determinarse en mantener el compromiso, poner los medios para que lo que yo pueda hacer no falte. El amor no es sólo cuestión de sentimientos sino de decisión.

TDD con Python

Excelente serie de videos donde se muestra cómo hacer TDD con Python. Como dice Angel “Java” López en un post, cuando uno comienza a hacer TDD, luego no puede dejarlo. Además las herramientas utilizadas me encantaron, sobre todo pyTDDmon, que en una ventanita en colores rojo y verde nos indica el estado actual de los tests de unidad.

Este es el primero de la serie:

Los demás videos los pueden encontrar en estos links.

Es muy buena la explicación de “Java” Lopez:

Implementa algo sencillo: código que dado un string con una URL, identificar el protocolo, el dominio, y el recurso que está contenida en esa dirección. En TDD, se va escribiendo el test, el código que pasa el test, y se va progresando de a poco. No hace falta escribir el código correcto y completo desde el principio. Como en otras tantas actividades, el “baby-step”, el “pequeños pasos” de avance, nos ayuda para ir incrementalmente produciendo el resultado esperado.

Noten el ciclo rojo-verde-refactor, el código mínimo que se agrega en cada tests (a veces, retornando valores puestos a mano, sólo para pasar los tests), refactorizando el test si hay código duplicado, las micro-decisiones de diseño que se van tomando, etc… Excelente trabajo para mostrar en video!

Además otra cosa interesante, no directamente relacionado con TDD pero si con las pruebas de unidad, es la cantidad de veces que el autor prueba distintas implementaciones sin preocuparse, ya que tiene toda una suite de tests para saber si la misma es válida. Eso es algo hermoso 🙂

En Making Good Software, leí una vez un post muy interesante titulado “TDD is not about testing!!!” que me llamó mucho la atención al principio. Mucha gente piensa que escribir los tests primero es hacer TDD, lo cual es incorrecto. TDD es una práctica de diseño, y es todo un proceso:

Test-driven development

El Matrimonio

Recién terminamos la reunión de comunidad en mi departamento. Hablamos sobre los distintos estados de vida que hay en la Iglesia, ya que nos tocó realizar el 3er encuentro del Proyecto Vocacional 2009, que tenía como título ¿Dónde hacemos concreta nuestra entrega?

Esos tres estados de vida son el Matrimonio, el Sacerdocio y la Vida Consagrada. Me encantó el texto que hablaba sobre el sacramento del Matrimonio, y quería compartirlo con ustedes. Ahí va.

Y así resulta que tú eres para mí el sacramento, la posibilidad de encuentro con el amor de Dios, y yo lo soy para ti. Es Él quien en mí te ama, te comprende, te perdona… Y nunca soy más yo, más plenamente yo, que cuando es Él quien con mi vida, mis manos, mis labios y mi corazón se acerca a ti.

Y no termina aquí la realidad de este sacramento. Tú y yo, marido y mujer, somos sacramento para nuestros hijos. El primer “lugar” desde el que nuestro buen Dios se les va a acercar, les va a llamar, bendecir, proteger, hacer libres…

Y aún más: nuestro hogar, esta “primera” Iglesia, deberá ser para cuantos allí lleguen, posibilidad de encuentro con Dios. Un “lugar” desde el que nuestro Señor pueda acoger, comprender, escuchar y atender a cuantos vengan.

Él será en mí para ti la fuerza del don sin reservas, del perdón permanente, de la comprensión y de la ternura, de la exigencia y de la fidelidad. Él será en mí todo para ti y en ti todo para mí. El será cada día en mí una nueva oportunidad para ti, porque Él en mí siempre cree en ti y te espera y te ama.

Y los dos lo seremos para nuestros hijos y nuestro hogar lo será para todos.

Si usás Buildbot con Mercurial…

… y la versión de Buildbot es la 0.7.11p3 (la última al momento de escribir este post) y Mercurial 1.3.1, que son las versiones que están en Karmic, quizá tengas un problema cuando el Build Slave intenta bajar el código del repositorio para comenzar el ciclo de compilación/testing.

Arquitectura de Buildbot
Arquitectura de Buildbot

Buildbot permite configurar de varias formas el modo en que va a obtener el código fuente del proyecto y cómo realizará las actualizaciones subsiguientes. Por ejemplo, el modo “update” hace que las operaciones de checkout/update se ejecuten en el directorio de trabajo, y no en uno independiente, como en el modo “copy” o “clobber”, que mantienen un directorio separado y limpio del repositorio (en el caso de Mercurial, “copia de trabajo” en el caso de Subversion) y hacen una copia del mismo para realizar la compilación (esto asegura que siempre se compile todo y que no influyan archivos generados en procesos anteriores, además de otros problemas menos comunes pero que existen).

El problema que estuve teniendo es cuando utilizo Mercurial. Al intentar traer el código fuente, Buildbot entra en un bucle infinito donde realiza el checkout (clone), borra el directorio, otra vez clone y asi… me pareció rarísimo el comportamiento. Versiones anteriores de Buildbot con versiones anteriores de Mercurial funcionan bien.

En uno de los pasos para realizar el checkout/update, Buildbot verifica si ha cambiado la URL del repositorio. Si esto es así, entonces hace clobbering, o sea, vuelve a bajar todos los cambios (checkout) y obviamente no realiza un update, aunque el modo no sea “clobbering”. Para saber si dicha URL ha cambiado, ejecuta un “hg paths default” en el directorio de trabajo y lo compara con la URL asignada en el archivo de configuración central del Build Master.

El bug está en que al ejecutar “hg paths default” Mercurial 1.3.1 devuelve el password oculto con asteriscos:

$ hg paths default 
http://miltondp:***@url.mi_proyecto.com/path/al/repo

… y, obviamente, la URL asignada en el archivo de configuración está completa (sin el password oculto). Al compararse ambas, son distintas, y por lo tanto siempre se hace clobbering.

Continuá leyendo Si usás Buildbot con Mercurial…

Desnutrición en Argentina

Me pasaron un excelente video que me gustaría compartir con ustedes. Habla el Dr. Abel Albino. Hace pensar y exige sentirse responsable para hacer algo.

La frase: “Cuando uno ve la pobreza, la miseria y hasta la injusticia, tiene dos maneras de actuar: tratar de buscar al culpable, o aceptar la cuota de responsabilidad que a cada uno nos cabe como miembros de esta sociedad y ver de qué manera podemos dar una mano […] Todos debemos hacer lo que nos corresponde hacer y un poquito más.”

Charlas sobre drogas y alcoholismo del Dr. Alfredo Miroli

El viernes a la noche asistí aquí en Avellaneda, en el Teatro Máximo Vicentín, a una conferencia del Dr. Alfredo Miroli, sobre la prevención de las drogas y alcoholismo. La Cooperativa de Servicios Públicos, Sociales y Vivienda de Avellaneda Ltda, en el marco de los festejos de sus 70 años de vida, fue la que organizó esta serie de charlas.

Estas conferencias fueron con los chicos de las escuelas secundarias, y luego, a la noche, una charla exclusiva para padres, que fue a la que asistí. El tema, específicamente, fue “El rol de los padres frente a las adicciones hoy”, que tranquilamente podría haberse llamado “Cómo ser padres hoy”.

Y digo esto porque en una parte de la charla, donde explicaba que la prevención se comienza a realizar desde que el bebé se encuentra en el útero y donde los gestos de la madre hacia su hijo son esenciales, hizo una pausa y dijo “Miren que estoy hablando de prevención de drogas…”.

El humor estuvo presente en todo momento, lo que hizo que el evento sea entretenido, además de interesante y formativo.

Es imposible para mí hacer un buen resumen de todo lo dicho. Las cosas que recuerdo son:

  • Droga y alcohol no son lo mismo. Para el alcohol hay edades, para la droga no.
  • El rol de los padres es fundamental. Esto no suena a nada nuevo, pero a veces se insiste mucho, demasiado, en que la responsabilidad está en los Gobiernos, la policía, los jueces. Nadie dice que no tienen responsabilidad, pero eso no puede ser una excusa para los padres para no preguntarse qué pueden y deben hacer ellos.
  • La prevención se comienza desde los primeros 9 meses de vida del chico. ¿Cómo? Amándolo. No tenía idea de lo importante que es la comunicación entre el hijo y especialmente la madre en estos meses. No tengo el vocabulario científico del doctor para explicarles, pero hasta los gestos de la mamá para con su hijo lo afectan muchísimo en esta etapa.
  • En la niñéz el diálogo por parte de los padres es a modo de oferta: el padre dice cuándo hablar, cómo y sobre qué.
  • En la adolescencia, por el contrario, es a modo de demanda: el chico tiene inquietudes y él pregunta, en el momento que tiene la inquietud, y el padre responde sobre lo que el chico preguntó. Es importante que estas charlas no sean largas, sino concretas y breves, y que el chico despeje su duda.
  • Un adolescente no debería ingerir alcohol hasta que su cuerpo termine de desarrollarse, o sea no antes de los 18 años.
  • Un padre debe dialogar (pero que el diálogo ayude al hijo en sus inquietudes, que esté centrado en el presente, en la situación que está atravesando, y no en la vida pasada del padre), saber con quienes ha estado y dónde, poner límites (un padre debe ser un padre, y no un amigo o compinche, explicando que lo que se le prohíbe hacer es para su bien y porque uno lo ama) y brindarle autoestima.
  • Con la despenalización del consumo de drogas, el Dr. explicaba, a mi modo de ver de una forma muy ilustrativa y sencilla, como los responsables de esto están en contra de los narcotraficantes (como todos nosotros), en contra de la droga (como todos nosotros) pero a favor del consumo de droga. Resumidamente, “no me importa si consumís, lo que me importa es que no te la vendan.
  • Cerca del final de la conferencia, nos preguntó si queríamos una Argentina libre de drogas o bien una Argentina con libertad para consumir drogas.

Fides et ratio

Hace un tiempo comencé a leer la Carta Encíclica de Juan Pablo II Fides et ratio, “La fe y la razón”. Me gustó muchísimo y me gustaría compartir con ustedes algunos párrafos, los que más me llamaron la atención.

En realidad esos “algunos” párrafos terminaron siendo “muchos”. Lo que pasa es que el documento está muy bueno 🙂 Así que para los que no van a leer completamente este post, quisiera que por lo menos lean unas palabras de San Agustín que el Papa cita:

«El mismo acto de fe no es otra cosa que el pensar con el asentimiento de la voluntad […] Todo el que cree, piensa; piensa creyendo y cree pensando […] Porque la fe, si lo que se cree no se piensa, es nula»

De todas formas esa es una pequeña parte de un gran razonamiento del Pontífice sobre la relación entre Fe y Razón. Los que estudian filosofía o teología lo van a disfrutar mucho más que yo. La idea del post es que estas personas, o cualquier otra interesada en estas cuestiones que tienen que ver con las preguntas últimas del hombre, no lleguen a terminar de leerlo, sino que más bien bajen el documento de Juan Pablo II, lo impriman y lo lean completo. La Encíclica comienza así:

La fe y la razón son como las dos alas con las cuales el espíritu humano se eleva hacia la contemplación de la verdad. Dios ha puesto en el corazón del hombre el deseo de conocer la verdad y, en definitiva, de conocerle a Él para que, conociéndolo y amándolo, pueda alcanzar también la plena verdad sobre sí mismo (cf. Ex 33, 18; Sal 27 [26], 8-9; 63 [62], 2-3; Jn 14, 8; 1 Jn 3, 2).

Continuá leyendo Fides et ratio