Fotos, el scanner, y Hewlett Packard siendo tontos

Como les comenté en el post que hablo de que todo el mundo debería aprender programación, estuve escaneando fotos viejas.

En la reunión del 1° de Enero le comenté eso a mi viejo, y él me dijo que también estaba escaneando (otras) fotos, y que con una resolución de 600 dpi estaba logrando verlas bárbaro luego en digital. Seguimos charlando de otras cosas, pero me quedó ese número en la cabeza... ¿qué resolución estaba usando yo?

Un par de días después, en casa, me acordé de esto, y revisé: ¡estaba usando 300 dpi!

¿Por qué? Porque cuando levantaba xsane para escanear algo, las resoluciones que me ofrecía eran 100, 200 y 300. Qué raro, pensé. Por otro lado, yo estaba escaneando con scanimage y especificando la resolución, así que en vez de pasarle 300, le pasé 600, para probar. En ambos casos el resultado fue el mismo, en realidad el escaneo se estaba haciendo a 300 dpi. ¿Podría ser que mi escáner sólo soportara hasta ahí?

Me fijé en las especificaciones que declara Hewlett Packard y vi que (teóricamente) ofrecía mucho más. ¿Entonces? ¿Un bug de software? ¿Dónde?

Para empezar, me puse a buscar donde podía empezar a preguntar o abrir un bug al respecto, y encontré el proyecto mismo de SANE. Entonces abrí un bug ahí, indicando todo lo que me pasaba. Me pidieron más info, me guiaron a actualizar la versión de las bibliotecas usadas, etc.

Terminamos viendo lo que ofrece la impresora misma cuando SANE le pide sus características: dice que es capaz de más, pero que sólo se puede usar hasta 300 dpi :(.

Oh no, ¿y ahora?

No había nada más que hacer a nivel de software en el Linux, pero me dijeron que pruebe con actualizar el firmware de la impresora/escáner mismo, así que fui al sitio de Hewlett Packard, a la parte de soporte, drivers, etc., y no había ningún firmware para descargar :(

Estaba un toque resignado. Pero para probar por probar, pensé que estaría bueno saber cómo se comportaba el escáner desde Windows. Instalé una máquina virtual de Windows en el VirtualBox (todo legal, se pueden bajar de acá para desarrollo, vienen listas para cargar y todo), y me propuse ver que pasaba.

Lo primero que hice (luego de instalar Firefox, realmente), es ir al sitio de Hewlett Packard para bajar los drivers de la impresora/escáner para Windows, y mayúscula fue mi sorpresa al ver que en la lista de cosas para bajar había un nuevo firmware.

Estúpido Hewlett Packard. El firmware figura como que es para una computadora con Windows (¡y no! ¡es para la impresora!) entonces no me lo muestra si voy desde Linux. Encima para cargar el firmware en la impresora/escáner ni hace falta tener Windows (al menos en una de las dos maneras, que es apuntar el navegador a la impresora, loguearse como admin, subir el nuevo archivo de firmware, y listo).

Entonces procedí a actualizar el firmware... no sin cierto cagazo, porque si eso sale mal, SALE MAL. Pero salió todo bien. El primer efecto que vi es que si le pido a SANE que me liste los dispositivos, ahora aparece "uno nuevo", que obviamente es el mismo hardware mostrándose de esta forma.

Si lo elijo, y veo qué resoluciones ofrece, tengo las anteriores más 600 y 1200 dpi. ¡¡Fantástico!!

Y efectivamente, si uso ese dispositivo (tanto desde xsane como con scanimage), las resoluciones altas me dan imágenes más grandes :). Quizás demasiado grandes, sin embargo.

Ejemplos en 100, 300, 600 y 1200 dpi

¿Hasta cuando conviene escalar ahí? Estuve haciendo unas pruebas, y me terminé quedando con 600 dpi: la impresión misma de la foto analógica hace que no tenga ganancia con 1200.

Esto lo vemos en los ejemplos mostrados arriba, que muestran siempre un área del mismo tamaño, 220x500 píxeles: cortes de la misma foto escaneada a esas cuatro resoluciones. A mayor resolución se ve mejor el detalle. Pero al mismo tiempo en la de 600 ya se empieza a ver borroso, y no se gana casi nada al ir a 1200, estamos amplificando el ruido mismo de la foto.

Comentarios Imprimir

Por qué todo el mundo debería saber programar, razón número 1209487.

Yo siempre digo que todo el mundo debería saber programar. No para "vivir de la programación", sino porque es una herramienta más que te puede servir en muchas ocasiones y ahorrarte laburo. Es como saber usar un martillo, o un serrucho. Todo el mundo debería saber.

Esta es una razón más por la que vuelvo a afirmar lo mismo.

En verdad es un ejemplo de cómo, por saber programar, me ahorré muchas (muchas) horas de trabajo manual.

Hace algunos meses, en una visita a mi viejo, volví a ver (en lo que había sido mi habitación) una caja con álbumes de foto en papel. Fotos sacadas con la "cámara de la familia" que tenían mis viejes, una Olympus de medio cuadro (no recuerdo el modelo) que todavía debe andar por ahí pero entró en desuso con el advenimiento de las cámaras digitales.

Tobi y el mar

Decidí llevarme la caja, aprovechando que el año pasado renové la impresora de casa y ahora tiene scanner, con la idea de digitalizarlas.

La caja durmió varias semanas ahí al lado de la computadora hasta que le llegó el turno entre mis tareas/proyectos.

El paso para digitalizarlas era sencillo. Poner una foto-papel en el scanner, usar xsane para bajar la imagen escaneada, abrirla con gimp, recortar la foto, grabar la foto recortada a disco con un número en el nombre del archivo para tener la secuencia.

Sencillo, pero UN EMBOLE.

Algunas optimizaciones eran obvias: poner de a dos fotos en el scanner, o escanear directemente desde gimp. Pero lo que más llevaba tiempo es que a veces el scanner "falla" (no sé si es el hardware, el driver, o qué, pero simplemente se equivoca de medio de entrada y dice que no tiene para escanear), y obviamente el recortar foto por foto no iba a escalar.

Entonces, como siempre que me enfrento a una ardua tarea manual en la computadora, pensé que se podía automatizar.

Lobos marinos en la Península Valdés

Lo primero, el escaneo propiamente dicho. No encontré cómo hacerlo desde Python, así que lo más sencillo fue ejecutar (via subprocess) el utilitario scanimage con los parámetros adecuados (modo color, resolución 300, etc) lo que ya me deja la imagen "cruda" en disco (a menos que falle, como mencioné arriba, en cual caso la solución es simplemente volver a ejecutarlo).

Lo segundo, recortar las fotos. Eso no es más que "detección de bordes", así que busqué cómo usar OpenCV, que para este tipo de tareas hace MAGIA y tiene buena interfaz con Python. Encontré un ejemplo, lo toqueteé un poco, y listo. No funciona el 100% de los casos, porque en algunos casos se confunde (por ejemplo cuando hay un paisaje: corta por la linea del horizonte como si fuese el borde de la foto), pero es sorprendente lo bien que anda cuando anda :)

Terminé armando un script de linea de comandos (que subí a este proyecto), con la suma de las funcionalidades antedichas. Simple, pero muy útil.

Lago Nahuel Huapi

Cuando se ejecuta, nos pide que pongamos las fotos en el scanner. Luego le damos ENTER y por default escanea, recorta las fotos y las grabar como JPEG con un nombre de archivo armado con el día y la hora y el número de foto dentro de esa "escaneada".

Yo recomiendo tener abierto el directorio donde se ejecuta con algún visor de fotografías, para verlas "aparecer". Si vemos que las fotos están correctas, sacamos las del escaner, ponemos otras y le volvemos a dar ENTER. Pero si vemos que alguna está mal detectada (le faltará algun costado, lo cual nos damos cuenta más por el formato de la foto que por su contenido), le damos R y el script volverá a escanear las fotos pero ahora grabará la imagen "cruda" obtenida: un archivo .pnm que podemos abrir con el gimp y recortarla manual luego.

Con este script terminé procesando todos los álbumes un unas pocas horas de trabajo. Weee.

Ahora me falta procesarlas para corregirles la orientación, agruparlas por "evento" (porque en los álbumes estaban un poco mezcladas), tratar de ubicar en qué fecha fueron tomadas, y a compartirlas con la familia.

Comentarios Imprimir

Luego del PyCamp 2021: Video y supermosaico de imagencitas

Dos subproductos del PyCamp me quedaron para después, y este post es sobre eso.

El video

Le puse mucho, mucho amor al video de Cierre de Actividades.

¡Arranqué con la complejidad de que el audio y el video estaban desfasados! Al principio ni se notaba, pero se iba desfasando con el transcurrir del video y al final estaba un par de segundos corrido, lo cual era insoportable de ver.

Lo mejor que encontré para solucionarlo fue separar el video en sí y el audio del video original, toquetear el audio con audacity y luego usar eso. Quedó bastante bien, pero luego cuando laburé mucho con el video me terminé dando cuenta que el desfasaje no era "lineal" y que en algunas partes iba y venía. Eso lo fui corrigiendo ad-hoc durante la edición, quedó bastante bien pero no perfecto. ‾\_(ツ)_/‾.

Y claro, le puse mucha edición. No sólo una carátula y cortar los tiempos muertos, que es lo básico, sino también tratar de que los pases de un lado para el otro fuesen graduales, hacer zoom sobre las personas y la pantalla en lo posible, acelerar algunas partes que no tenía sentido ver lento, e incluso poner links a los proyectos como subtítulo.

Esos mismos links están en la descripción del video, pero también hay ahí una joyita: separación por capítulos, así que pueden saltar directamente al tema que quieran ver. Esto es más mérito de YouTube que mio, ya que arma esos capítulos automáticamente si uno pone en la descripción los tiempos y títulos. Un lujito.

La foto

Uno de los proyectos que llevé al PyCamp fue el de fotos2imagen. Bah, más que proyecto, lo que llevé fue una idea de proyecto, ya que no sólo no había tirado ni una linea de código, sino que tampoco lo había pensado demasiado (o sea, algo ideal para un PyCamp).

Ya se los había comentado en el post del PyCamp, pero acá les dejo la descripción que puse en el listado de actividades propuestas para el evento:

La idea es armar una imagen pero compuesta por miles de fotitos. Seguro que hay cosas por ahí que hacen algo parecido, pero parte de esto es jugar y aprender. Al programa se le pasa una imagen y un directorio con fotos, y arma la imagen con las fotitos.

Ya en casa, y luego de esperar que les participantes del evento terminen de compartir sus fotos, estuve tratando de armar un mosaico con esas imágenes.

Con "tratando" me refiero a ir jugando con los dos parámetros principales del sistema: el tamaño del cuadradito para recortar la imagen principal, y el tamaño de la imagen que se termina poniendo en ese lugar.

En un momento se me complicó porque para lo que quería lograr el programa tardaba muuuucho, así que decidí hacer algo de profiling y me terminé dando cuenta que lo que se llevaba la mayor parte del tiempo era grabar la imagen que se iba construyendo, lo que se hacía para poder mostrar "un progreso visual" del avance. Entonces toqueté el código para que sólo vaya grabando versiones intermedias si se usaba ese progreso visual, y ahí pude generar versiones más detallistas sin esperar una eternidad.

Al final, la que más me gustó es esta foto-mosaico que pueden comparar con la original:

La imagen original y el mosaico en tamaños similares para comparar

Si abren el mosaico y hacen zoom van a poder ver las fotitos con que está compuesta. Por ejemplo:

Zoom detalle de una parte del mosaico

Obvio que pueden hacer aún más zoom y verlas mejor :)

Si se ponen a jugar con fotos2imagen y hacen algunos mosaicos, ¡avisen y compartan!

Comentarios Imprimir

Procesamiento Paralelo de Vectores

Como parte de la investigación para el libro Python en Ámbitos Científicos que estoy escribiendo con Manuel Carlevaro estoy armando una charla sobre Procesamiento Paralelo de Vectores, que muestra distintas técnicas para hacer eso.

El fuerte del código y las técnicas es en Python, pero también hay una versión "serial" y "paralela" hecha en C++ para tener tiempos "base" contra los cuales comparar.

Para las distintas formas voy a mostrar un poquito de código, y las mediciones (va a haber un slide de cómo se midió, que no es trivial, pero es más "documentación de soporte", no pienso invertir tiempo de la charla ahí).

En paralelo

Si gusta, tengo ganas de dar la charla en algún evento presencial, pero como adelanto con Manu organizamos una charla virtual, ahora en Diciembre. Será el jueves 16 a las 19hs, por Zoom.

Están todos invitades, pero les pedimos por favor que llenen este form para conocer mejor la audiencia de la charla (y potencialmente del libro). Un par de días antes les mandaremos por mail el link para conectarse.

¡Nos vemos!

Comentarios Imprimir

PyCamp 202...1

La previa

El PyCamp 2019 lo hicimos en San Rafael, como ya les conté. Veníamos haciendo dos veces en la misma sede, por simplicidad organizativa, así que ibamos a repetir San Rafael.

Claro, pasaron cosas. Estaba originalmente planeado para Marzo de 2020, pero ahí justo explotó la pandemia. Lo postergamos algunos meses, hasta Agosto, porque tampoco iba a durar tanto el quilombo, ¿no?. Obviamente lo tuvimos que recalcular, pasó a Marzo 2021.

¡Y veníamos bien! El verano nos encontró con un marcado descenso de casos, todo fiesta, todo bien, hasta que llegó la segunda ola y nos obligó a postergarlo nuevamente. Esta vez lo pasamos para Noviembre, donde ya apuntábamos a llegar vacunades y en buenas condiciones sanitarias.

Esta vez le pegamos, y finalmente arrancó un nuevo PyCamp :D.

Nerd en situación de PyCamp

Como el año pasado, fui en avión. A diferencia del año pasado, coincidimos bastantes en el mismo vuelo. Laureano pasó por casa y Moni nos llevó al aeropuerto, donde nos encontramos con Leandro y Marcos. Un vuelo aburrido (como debe ser, a nadie le gusta las sorpresas volando a diez kilómetros de altura), y llegamos a San Rafael.

Nos tomamos un taxi y en un rato estábamos en el lugar. Ya había bastante gente, y fue llegando más con el correr de las horas.

Hicimos un asadete (colaboré poco, pero colaboré) con chorizos, bondiola, un corte de vaca que no recuerdo y vegetales. Muchos saludos, muchas presentaciones (tuvimos aproximadamente un 50% de gente para la que era el primer PyCamp), y mucha charla.

Trabajando un poco mientras se hacía el asado

¡Y también ya nos pusimos a laburar! Porque Zoe recordó que había que probar el bot del PyCamp que nos ayuda a organizar las actividades, y estuvimos refrescándolo un poco, levantándolo en un servidor, y cazando un par de bugs raros que nos hicieron sufrir un par de horas :).

Día 1

Al otro día arrancó formalmente el evento. Como siempre, pasamos la primer parte de la mañana acondicionando el lugar, moviendo mesas y sillas, desparramando cables, probando internet. Y la segunda parte de la mañana coordinando el arranque, dando bienvenidas, explicando PyCamp a aquelles que era su primera vez, organizando los proyectos, etc.

La organización de las actividades (sólo los primeros dos días)

Después del almuerzo empezamos "de verdad" a trabajar en distintos proyectos. Yo estuve ayudando un poco en un proyecto de Hugo Ruscitti que apuntó a tener un "intérprete de Python cooperativo y multiusuario", el Cooperython.

También empecé a ayudarlo a Litox en un proyecto que propuse yo pero que arrancó él antes del slot asignado: armar la réplica de una foto usando otras miles de fotos. Claro que no es un concepto nuevo, y posiblemente hayan herramientas para hacer algo similar, pero muchas veces los proyectos que arrancamos y llevamos adelante se basan más en aprender y jugar que en su utilidad neta.

Litox no sólo arrancó el proyecto, sino que se entusiasmó y se lo puso al hombro laburando mucho ahí. Yo ayudé en armar una etapa de pre-procesamiento de las imágenes "fuente" y Fisa armó el comparador que busca qué imágenes poner en cada pedacito de la imagen original a replicar.

Juego de programación colaborativa

Como en el evento anterior y algún Meetup, hicimos un juego de codeo colaborativo (donde programamos algo medianamente simple en equipo, de a dos o tres minutos por persona, rotando). En esta oportunidad armamos un "ahorcado". Fue medio caótico porque algunes expectadores se entusiasmaron y se iban sumando al grupo a la mitad del ejercicio, pero lo terminamos en 48 minutos y quedamos todes muy contentes con el resultado y con la actividad en sí. Para mí este juego es algo que "tiene que estar" en todos los PyCamps :).

Después de la cena estuvimos un rato boludeando (ayudé a unos amigos con un problema de conexiones zombies a PostgreSQL, pero no lo fixeamos hasta el día siguiente), y luego jugamos al Cosmic Encounter, en el cual ganamos Marian, Sofi y yo al mismo tiempo, pero no lo disfruté mucho.

Y cuando ya estaba como para irme a dormir, veo que Fisa arma su estación de realidad virtual, la cual no sólo incluye los dispositivos de RV en sí, sino también unos controles muy reales para manejo de aviones. ¡Asi que estuve volando! Obvio que no usé los quichicientos botonitos y palanquitas de los controles, pero lo principal lo fui llevando, incluso realizando correctamente algunas piruetas. Hasta que quise aterrizar, donde no me puse lo suficientemente en linea con la pista, quise bajar la velocidad para acomodarme mejor, y cuando me quise dar cuenta me estaba haciendo torta contra unos almacenes que están antes de la pista.

Volando

Día 2

El segundo día arrancamos laburando en electrónica. Estuvimos aprendiendo cómo usar algunos microcontroladores que corren Python. Yo tengo dos en casa, pero todavía no los usé, así que no sabía hacer lo básico de levantarlos, correr algún programa ahí, etc. Y eso es lo que estuvimos explorando, aprendiendo. Estoy contento porque cuando me ponga con esos micros en casa ya tengo resuelta toda la primer etapa :).

Después no estuve haciendo nada específico, charlando con gente, ayudando con eso de los problemas de conexiones que comentaba, yendo de proyecto en proyecto, etc.

Antes de cenar estuve aprendiendo sobre Pythonium, un juego de estrategia por turnos en el que cada jugador (que no es más que un pedazo de código Python) lidera una raza alienígena que apunta a conquistar la galaxia. La diversión, claro, es escribir ese código Python que modela el comportamiento de nuestra raza alienígena.

Ya cenados volvimos a divertirnos con la plataforma de realidad virtual, ahora con otras "experiencias virtuales". Yo particularmente estuve un rato jugando (¿viviendo?) al Alyx, un FPS exploratorio hecho por Valve Corporation (los mismos del Portal 2). A nivel juegos de mesa estuvimos con el Age of War, que gané dos veces :D.

Microcontroladores, sensores, fuentes... ¡hardware!

Día 3

Por la planificación original, el tercer día fue más relajado. Todes fuimos laburando en proyectos que traíamos de los días anteriores. Yo puntualmente seguí ayudando con el fotos2imagen.

Uno de los proyectos que yo llevé fue el PyEmpaq, el empaquetador de programas en Python que ya les comenté. Nos sentamos con Mati Berriento justamente a empaquetar fotos2imagen, para lo cual necesitamos implementar un feature que estaba planeado y solucionar un bug que encontramos.

Más o menos, el paisaje

Más tarde con Leandro quisimos hacer un vivo de la Escuelita de Python para laburar en Botggle (el juego de Boggle para Telegram) como veníamos haciendo semana a semana, pero no nos dió el ancho de banda para streamear para afuera, así que lo cancelamos.

Ya entrada la tardecita hicimos la "reunión de balance del evento", donde charlamos sobre lo que hicimos bien, mal, o espantoso, y tiramos ideas de cómo mejorar y hacer cosas de forma distinta. Antes y después de la reunión nos sacamos algunas fotos grupales...

Foto grupal luego de la reunión

Después de la cena hubo una actividad en el Observatorio del lugar. Vimos muy de cerca a Júpiter y Saturno, que en el evento anterior no estaban visibles, y por eso estuvo muy bueno, pero la charla en sí del guia dejó mucho que desear comparado con la chica de la vez anterior.

Y cerramos la noche con juegos de mesa, como corresponde. Aprendí a jugar a un juego colaborativo que se llama Hanabi y está muy bueno. La primera vez jugamos el modo fácil y ganamos, la segunda jugamos el modo difícil y estuvimos ahí de ganar. Después hicimos un Saboteur, en el cual perdí miserablemente.

Día 4

El último día arrancó muy lento, como es normal. Toda la gente cansada, destilando lo agotador del ritmo.

La actividad principal de la mañana siempre es el cierre en sí, así que luego de alguna preparación arrancamos con la presentación de todo lo que fuimos haciendo los días anteriores. Hay un video, al que someteré a algunas ediciones menores (principalmente para recortar los "baches" y pausas), luego lo tiro por acá cuando esté listo.

Casi inmediatamente después se empezó a ir gente, y el resto de la mañana se fue pasando entre saludos y la recolección de lo desplegado durante esos días (desarmar un par de routers y cables que habíamos puesto, levantar los alargues y zapatillas, ir metiendo todo lo que correspondía en la caja de PyAr, acomodar y limpiar algunas cosas, etc.).

La caja de PyAr, en la que movemos muchas cosas útiles de evento en evento

Luego del almuerzo quedamos unes 15 pycampistas, pero ya no estuvimos en los espacios que habíamos ocupado los días anteriores, sino que migramos la sede de operacones a "la casa 1", que era donde nos íbamos a quedar la mayoría luego del evento (y es grande y espaciosa).

Más allá que continuamos algunas cosas que veníamos trayendo, el resto del día fue más social que nada, y la preparación de la cena, y entre todas esas actividades se fue diluyendo el PyCamp poco a poco...

Los días posteriores

Yo me quedé hasta el viernes, volaba a Buenos Aires junto a Hugo y Ramiro. Un grupo que eran todos de la misma empresa se quedó en uno de los apart-hotel que tiene el predio, pero les que estábamos en la casa 1 nos fuimos desgranando durante el martes mismo, miércoles, jueves e incluso un par que salieron el viernes a la mañana.

Esos días trabajé en algunas cositas que fui cerrando, pero también muchas cosas que "no atendí" en los días previos, burocracia del día a día, digamos.

Mi intención original (cuando moví el pasaje a Noviembre) era quedarme hasta el miércoles, para no irme a las apuradas el martes "del cierre" (como me pasó en el 2019), pero Aerolineas me fue pasando el pasaje al jueves, y luego al viernes. Entonces mi idea mutó a aprovechar y conocer un poco el lugar, que la vez anterior no había paseado nada.

Un poco de (pseudo)kayak, una hermosa actividad

El martes mismo nos fuimos con Fisa, Sofi, Felipe (el hermano de Fisa) y Marco a hacer kayak. Le metimos un recorrido largo, y la pasamos bárbaro. La actividad se desarrolla en el Embalse Los Reyunos, el mismo que se ve desde el predio donde hicimos el evento, a una corta caminata desde donde nos hospedamos. En ese lugar también se puede hacer tirolesa... yo tenía ganas de hacer pero al final no me pude hacer el hueco de tiempo.

Cualquier otra actividad "turística" que no sea en ese lugar implicaba hacer muchos kilómetros. Por suerte, Marco había venido en el auto y también quería pasear, así que coordinamos con él y Hugo para hacer algún recorrido. Averiguamos un poco y decidimos hacer el recorrido que que llaman "cañón del Atuel". No son taaaantos kilómetros, pero se va muy lento y se tarda bastante, así que entre eso, llegar y volver, y hacer alguna que otra actividad (queríamos hacer rafting) sabíamos que se nos iba a ir un día entero.

El miércoles a la mañana vimos el pronóstico y nos enteramos que durante el mediodía y la tarde iba a llover, así que decidimos postergar el paseo para el jueves. Ahí si, salimos temprano y fuimos hasta el Embalse del Nihuil, donde arrancamos el recorrido en sí.

(De izq a der) Yo, Hugo y Marco, los tres pelados

El paseo es hermoso, las vistas son increibles, muy muy recomendado. Hay varios puntos para parar y sacar fotos, pero sí o sí se tiene que ir en algún vehículo porque las distancias son grandes.

Después de llegar a Embalse Valle Grande la ruta se hace de asfalto nuevamente, y hay toda una tanda de lugares relacionados con el turismo: mucho para hacer actividades en el río y lugares para comer, algo de hospedaje, y alguna cosita más.

Como dije arriba, nosotros íbamos con la idea de hacer rafting, así que paramos en el segundo lugar que vimos, donde además de informarnos cómo era ese servicio, nos contaron de algo que ninguno de los tres habíamos hecho (ni oido): el cool river.

Maduramos la decisión un poco mientras comíamos y nos echábamos un rato abajo de un árbol, y decidimos hacerlo. ¡Fue genial! Mucha adrenalina, completamente inmersivo con el lago (lo de rafting parece muy "conservador" si hacés esto otro), y muy piola para mojarse mucho, aunque terminé con un par de raspaduras por algunas piedras que están bajo el agua (y no se ven) pero altas (y se las roza al pasar flotando). RE CO MEN DA DÍ SI MO.

El Embalse Valle Grande

Ya en la vuelta paramos a hacer un tour en la Bodega Labiano y comprar algunas cositas, y luego a conseguir carne y verduras para el asadete de la noche, la última cena en San Rafael.

Al otro día liberamos el lugar, trabajamos un rato cada uno en lo suyo, y nos pasó a buscar Matu (a Ramiro, Hugo y a mi) con la excusa de ir a buscar la "caja de PyAr" al predio, y nos dejó en el aeropuerto.

Checkin, charla, espera, vuelo, y de vuelta en casa con la familia :)

Comentarios Imprimir