Vacaciones en el sur

Este verano volvimos a Piedra del Águila, en modo vacaciones pero también visita a mi hermana y cuñado, que viven allá desde hace unos años.

El viaje es largo, especialmente para los niños, pero haciéndolo en dos tirones (o sea, en dos días, durmiendo en algún hotel en la mitad del viaje) se hace soportable. Pero tampoco es para hacerlo seguido, y es en parte por eso que pasaron tres años desde la última visita.

En aquella oportunidad pusimos carpa en el terreno de los chicos, y los ayudamos a empezar a construir las habitaciones. Esta vez las habitaciones estaban totalmente terminadas y habitables, más el taller donde funciona la imprenta, más el garage (que usamos como habitación nuestra), más un montón de comodidades (como el horno de barro!).

Primeras habitaciones de la casa que están haciendo Diana y Gus a pulmón.

Hicimos bastante fiaca durante las vacaciones... yo, por ejemplo, dormí siesta todos los días (normalmente no duermo), leí un montón, charlamos mucho, comimos demasiado. Aprovechamos bastante el horno de barro: hicimos pollo y cordero, siempre con verduras que al horno de barro quedan geniales, incluso el choclo.

Malena jugando con las gallinas (que pensaban que ella les iba a dar de comer...).El horno de barro que construyó mi hermana; ahí hicimos cordero, pollo, pan y muchas verduras.Muy atípico cielo, una gran tormenta que apenas nos mojó un rato (pero pegó fuerte ~100km más al norte).

También paseamos bastante. Hicimos algunas actividades cortitas y cercanas, como subir hasta el águila representativa del pueblo, pasar una tarde en el perilago, una caminata al cerro que está al lado de la casa de los chicos, pasamos una tarde en un lugarcito muy lindo aguas abajo del embalse Pichi Picún Leufú, e incluso hicimos una caminata bastante complicada para llegar a una bahía que nos habían contado, con visita incluída a los restos de una ciudad abandonada.

Quizás la que más se destaca de todas las actividades que hicimos en Piedra del Águila fue escalar la pared vertical de una formación que corona un cerro de las afueras de la ciudad.

Fuimos guiados y supervisados por Esteban Martinez, que ya había subido y colgado las sogas de seguridad. La caminata hasta arriba del cerro no fue simple (ni la bajada, especialmente para mí, que llevé casi todo el tiempo a Malena a upa), pero llegamos a una pequeña superficie casi horizontal al costado de la pared. Allí fuimos escalando por turnos, trepando a la roca con la fuerza de piernas y brazos, mientras que alguien desde abajo mantenía tensas las cuerdas de seguridad, por las dudas que nos cayéramos (y con estas cuerdas, luego bajábamos descolgándonos). La verdad es que estuvo buenísimo, aunque las primera vez te da un poco de cagazo el estar solamente agarrado/apoyado con manos y pies a varios metros de altura...).

A mitad de la caminata hasta el cerro (lo que realmente escalamos es la parecita vertical de arriba de todo).Ya casi arriba de todo, Gustavo y Diana viendo como Esteban prepara los equipos.Casi llegando a la cima, parece más fácil y menos divertido de lo que realmente es :).Haciendo la parte de seguridad mientras escalaba Felipe.

Por otro lado, no sólo nos quedamos en casa de los chicos o hicimos paseos cercanos. En dos oportunidades nos tomamos el día entero, saliendo temprano y volviendo tarde, para hacer una recorrida a algún lugar más lejos y conocerlo.

En uno de esos días nos fuimos al Chocón, a unos 150km al norte de Piedra del Águila. Fuimos principalmente al Museo Municipal, donde está expuesto el Giganotosaurus Carolinii (hasta el momento considerado el dinosaurio carnívoro más grande de todos los tiempos, aún superior al Tyrannsaurus Rex) que se descubrió justamente en esa zona por Rubén Carolini a fines del siglo pasado.

Todo el Chocón está coloreado con la temática dinosauril, y está muy bien que así sea (todas las ciudades deberían explotar más sus capacidades turísticas, siempre hay algo que mostrar). Pero no sólo eso tiene la ciudad, sino unos paisajes hermosos al Lago Ramos Mexía, y obviamente la represa.

La familia a los pies del simpático dinosaurio que cuida la entrada a El Chocón.Dinosaurio reconstruido, en el museo.Tres bestias feroces.

Otro día nos fuimos al Lago Huechulafquen. Fuimos desde Piedra del Águila para el sur por la RN237, hasta el Río Collón Curá, y de ahí subimos por la RN234 y la RN40 hasta Junín de los Andes. Ahí almorzamos, y seguimos camino al lago. En este último tramo tardamos bastante, porque no sólo es de ripio, sino que hay caminos de cornisa sinuosos y en pendiente, nada trivial de recorrer pero tampoco algo imposible, sólo se tarda más de lo calculado (y también porque nos clavamos una siesta a la mitad de la recorrida :p ).

Obviamente, los paisajes pagan todo eso con creces.

Vista desde donde paramos a tomar unos mates.Malena, haciendo un enchastre de si misma al jugar con la tierra finita del lugar.Felipe "filmando" a unos chicos que tocaban la guitarra y cantaban.Vista del volcán Lanín desde la ruta.

La vuelta la encaramos un par de horas antes de que anochezca, es que quería hacer sí o sí todo el camino hasta Junín de los Andes y también la ruta desde ahí hasta el cruce con la 237 antes que sea noche cerrada, por seguridad y comodidad.

Los cuatro junto al monumento representativo del nombre del pueblo.

Entre una cosa y la otra se fueron pasando los días y tuvimos que regresar a casa. Hace rato que no nos tomábamos más de una semana de vacaciones, y lo disfrutamos un montón, pero también te dan ganas de volver a casa, :)

Comentarios Imprimir

Sueño fatal

El otro día soñé que me moría.

Bah, el sueño no era sobre que me moría... me moría durante el sueño, como un detalle de los sucesos. Era un nudo argumental, digamos, no lo central de la historia.

Quiero recalcar que no fue una pesadilla, sino un sueño normal. Bah, normal...

La historia iba de que había un virus suelto, o una maldición, o algo así, que se contagiaba por contacto y si en un determinado tiempo no contagiabas a alguien más, te morías. Recuerdo que alguien me contagiaba, y luego de contagiar a algunos, me descuidé y se me pasó el tiempo en cuestión. Me dí cuenta de eso, me dí cuenta que me iba a morir... y en el momento de la muerte fue como un "ffffssssup!" y nada más, yo seguía estando ahí (tenía conciencia de mí, sabía donde estaba, qué pasaba), sólo que no estaba vinculado a mi cuerpo. La historia seguía más bizarra aún: por un motivo que no recuerdo quería comunicarme con alguien que estaba vivo, entonces aprendía y practicaba (con la ayuda de un par más) a mover objetos "del mundo físico", hasta que en un momento alguien nos convocaba para ir a no sé donde, y ya no me acuerdo más.

En fin, lo que resalto fue que es la primera vez que me muero durante el sueño, y que no fue para nada traumático :p

Comentarios Imprimir

Curso de Locución y Técnicas Vocales

Hace rato que debía este post, pero no fue hasta la semana pasada que pasé a buscar todos los audios por la biblioteca de ETER.

El curso estuvo bueno, dio un pantallazo general y superficial de mucho contenido que se profundiza en la carrera de Locución. La mayoría de mis compañeros estaban ahí porque no se decidían si encarar la carrera o no, o (como yo) porque les interesaba la temática en sí, con actividades en mayor o menor medida relacionadas al hablar en público, o la radio.

Estaba dividido en dos patas principales: la de Foniatría (dada por Ariel Aguirre), donde básicamente uno aprende a preparar y usar el instrumento (que no es sólo la boca, o cuerdas vocales, sino todo el cuerpo), y la de Locución (dada por Cristina Taboada), donde íbamos realizando distintas actividades en un estudio de verdad, aprendiendo no sólo a locutar sino también a interactuar con el operador, usar el estudio, y muchos detalles más.

De la parte de Foniatría no me queda más que algunas fotocopias a modo de apunte, pero de la parte de Locución tengo todos los audios que fuimos realizando, porque el operador los grababa:

  • Presentación: la primera vez que entramos en un estudio, con la idea de contar un poco de uno mismo y por qué estábamos ahí.
  • Cuento para niños: había que llevar un cuento infantil, para practicar lo que es una lectura muy colorida, con muchas inflexiones, apuntando a un público infantil.
  • Hablando raro: un juego donde había que leer un determinado texto con distintas voces (a mí me tocó 'gangoso', 'sensual' y 'neutro', pero habían muchos más como 'riéndose', o 'gritando', o 'enojada/o', etc.)
  • Que profesional: las mismas palabras con muchos significados distintos.
  • Texto difícil: un texto bastante complicado de leer... no llega a ser un trabalenguas, pero hay mil trampitas por ahí.
  • Leyenda Sioux: Un radioteatro, donde entre varios representábamos una historia bastante conocida; a mí me tocó ser el Relator.
  • Vecinos: Otro radioteatro, pero este sólo entre dos personas, representando una situación en el pasillo de un departamento.
  • Publicidades: Varios textos cortos que había que leer con el punto neutro pero alegre de las publicidades, hecho a dúo con la profesora.
  • Recitado: la consignar era llevar la letra de una canción con la idea de recitarla, y también una música (que no sea de esa canción) para poner de fondo.

Este último se lo dedico a mi hermana, porque es una letra que a nosotros siempre nos gustó mucho, ella hizo un grabado con esa temática (tengo una impresión colgada en la pared, y tuve una remera mucho tiempo), y también porque ella está cumpliendo un poco con la consigna de la canción, lo que me llena de alegría.

Comentarios Imprimir

Logging levels

Cuando empecé con el concepto de loguear, me parecía demasiado tener niveles. Con el tiempo y la experiencia me di cuenta que son imprescindibles, :)

En la biblioteca estándar de Python hay un módulo logging que trae varios niveles prefijados. Son estos, con una pequeña anotación de cómo los uso, más un ejemplo de la vida real (tomados de mi programa de Encuentro o de fades).

  • CRITICAL: creo que nunca lo usé :)

  • ERROR: problemas de todo tipo; cosas que no deberían pasar, y si pasan son un inconveniente; muchas veces el programa no continúa, o continua de forma parcial o limitada, luego de este tipo de linea logueada. En este ejemplo logueo que no se pudo bajar la lista de los backends durante una actualización (también en este caso se le avisa al usuario mediante una ventanita, y el programa sigue, aunque la actualización no se concretó):

    try:
        _, backends_file = yield utils.download(BACKENDS_URL)
    except Exception, e:
        logger.error("Problem when downloading backends: %s", e)
        tell_user("Hubo un PROBLEMA al bajar la lista de backends:", e)
        return
    
  • WARNING: para indicar que sucedió algo que en general no debería pasar; en general no son cosas malas, sino más bien anómalas, y no presentan una situación problemática. En el siguiente ejemplo estoy dejando registro que ignoro la opción 'quiet' que pasó el usuario (porque también pasó la opción 'verbose', que es más importante):

    if verbose and quiet:
        logger.warning("Overriding 'quiet' option ('verbose' also requested)")
    
  • INFO: información general del funcionamiento del programa, cosas que son imprescindibles saber y que siempre queremos que sean registradas; en general no involucran gran cantidad de lineas, pero permite seguir el flujo de ejecución del programa desde un nivel alto. Normalmente los programas que se entregan a los usuarios o corren en los servidores están configurados para realmente mandar a disco desde este nivel. En las siguientes dos lineas muestro lo primero que loguea Encuentro al arrancar: con qué versión de Python está siendo ejecutado y qué versión de sí mismo es:

    log.info("Running Python %s on %r", sys.version_info, sys.platform)
    log.info("Encuentro version: %r", version)
    
  • DEBUG: toda la información necesaria para analizar en detalle la ejecución del programa. Puede involucrar grandes cantidades de información, y hasta ser un problema con respecto al uso de disco o afectar la performance, pero en general no se corren los programas en este nivel, sólo durante el desarrollo o en casos de tratar de analizar un problema específico. No es raro, por ejemplo, pedirle al usuario que ejecute el programa con un parámetro especial que configura los logs en este nivel y que trate de reproducir el problema que tuvo, para luego hacer un análisis forense de la situación. En el siguiente ejemplo estoy dejando constancia que fades tuvo que instalar pip a mano en el virtualenv:

    logger.debug("Installing PIP manually in the virtualenv")
    

Me ha pasado en sistemas muy complejos de necesitar un nivel más abajo que DEBUG para loguear toda aquella información que podría llegar a ser útil para un análisis del comportamiento del programa, pero que normalmente sería un exceso de datos (lo cual complica desde la lectura de los registros hasta el mismo manejo de los archivos). Entonces, usábamos un nivel TRACE, que casi nunca se prendía, para este propósito.

La macana es que el módulo de logging no tiene un nivel TRACE, pero lo creábamos a mano:

TRACE = 5
logging.addLevelName('TRACE', TRACE)

Fíjense el 5 ese: es que DEBUG es 10, entonces queda "más abajo". Claro, para que funcione todo, teníamos que usar un Logger custom:

class Logger(logging.Logger):
    """Logger that support our custom levels."""

    def trace(self, msg, *args, **kwargs):
        """log at TRACE level"""
        if self.isEnabledFor(TRACE):
            self._log(TRACE, msg, args, **kwargs)

Para más información sobre la infrastructura de logging de Python y consejos generales sobre qué, cómo, o cuándo dejar registro de lo que sucede, pueden ver mi charla sobre el tema (estos son los slides, y en algún momento se publicará acá el video de esta misma charla que dí en la PyCon de Rafaela).

Comentarios Imprimir

Decime quien sos vos

El título de este post es robado a un maravilloso programa de Eduardo Aliverti.

Es un programa de radio que sale desde hace años por Radio Nacional los domingos a las 10hs. Se basa en una entrevista de Aliverti a alguna personalidad, armando un diálogo tranquilo, profundo, inteligente.

La dinámica es bastante minimalista: sólo Aliverti charlando con el entrevistado. Nada más. La producción es de Roxana Russo, de extensísima carrera, y directora de la carrera de Periodismo en ETER (escuela donde terminé el curso de Locución y Técnicas Vocales hace un par de meses, :) ).

En palabras de ellos mismos:

"Decime quién sos vos" es un programa de entrevistas tan distendidas como agudas e intimistas donde convergen personalidades emblemáticas del pensamiento, la cultura, el arte, el espectáculo, el deporte.

¿Por qué les cuento esto? En parte porque el programa se merece ampliamente una recomendación: es uno de los (casi ningún) programas de radio y televisión que escucho religiosamente.

Pero también porque van a poder bajarlo de forma fácil usando Encuentro, a partir de la versión 2.1 que acabo de liberar.

Meter "Decime quien sos vos" en Encuentro me llevó muchísimo trabajo (incluso tuve que hacer una biblioteca para parsear SWFs en Python), pero la posibilidad de buscar fácilmente entrevistados para poder bajar el programa lo valía.

Entonces, ahora es muy fácil escuchar entrevistas de calidad a (entre otros) Pepe Soriano, Hector Larrea, Teresa Parodi, Carlos Ulanosvsky, Horacio Fontova, Lalo Mir, Horacio Verbitsky, Lito Vitale, Adrián Paenza, Walter Malosetti, Luis Salinas, Roberto Perfumo, Abelardo Castillo, Gonzalo Bonadeo, Luis María Pescetti, Alejandro Dolina, Lito Cruz, etcétera, etcétera, y recontra etcétera.

Bajen/instalen el nuevo Encuentro, refresquen la metadata, y además de todo lo que pueden encontrar ahí, filtren u ordenen por este nuevo programa, y van a ver que el contenido es invaluable.

Que lo disfruten, :)

Comentarios Imprimir