lunes, 25 de agosto de 2014

OpenStreetMap en tu GPS Garmin

A principios del 2008 me crucé con un proyecto que me había parecido muy interesante: OpenStreetMap. Es un sitio donde podés ayudar a definir mapas del mundo real, no solo calles, sino también puntos de interés, escuelas, recorridos de colectivos, paradas... prácticamente un relevamiento total del planeta.

Funciona al estilo Wikipedia: el que sabe de alguna región, colabora. También hay mucha gente que releva caminos o puntos con un GPS, y luego se basa en la información obtenida. Otros prefieren una opción un poco más simple pero no tan precisa, y es mapear sobre los mapas satelitales de acceso público.

Desde que lo descubrí, fui colaborando tímidamente por las zonas que conocía, arreglando alguna calle con el sentido mal definido, agregando algo nuevo que veía en las vacaciones, etc. Cuando me mudé a San Martín de los Andes a principios del 2013 vi que por acá faltaban relevar muchas calles y barrios, principalmente los que no son de fácil acceso, así que aprovechaba cada salida en auto o caminando y me llevaba el GPS para registrar los recorridos.

Actualmente el mapa está lo suficientemente detallado como para preguntarme: ¿se podrá poner este mapa en el GPS del auto?

Tengo un Garmin, y hasta ahora solo tenía disponible el mapa del proyecto Mapear. No es que no me guste ni tengo nada en contra de este proyecto, es más, creo que el 99% de los usuarios de GPS lo deben tener y no saben que existe otra opción. El tema es como se maneja cada proyecto. El proyecto Mapear no es un proyecto abierto, podés colaborar pero siempre a través de la barrera que te pueden poner los propietarios del mismo, o sea, si por algún motivo no quieren aceptar tu colaboración, alpiste. Otro tema es que los datos del mapa no son de dominio público, o sea que no podrías hacer cualquier cosa con el mapa. En pocas palabras, te permiten usarlo pero no modificarlo.

En cambio, el proyecto OpenStreetMap (OSM) te permite agregar directamente lo que quieras o necesites. Podes usar los mapas para cualquier uso, ponerlos en tu sitio, y en algunos lugares (como SMAndes) están mucho más detallados que los mapas de Google Maps. Todo gracias a la gente que colabora, sean vecinos o visitantes que colaboraron con lo que vieron en las vacaciones.

Volviendo al tema y como era de esperar, no fui el primero con la idea de usar OSM en el Garmin. Con poco buscar encontré varias opciones, algunas tan interesantes como un sitio que te genera los mapas para la parte del mundo que quieras, espectacular para viajeros.

La opción que más me gustó es la que armó un colaborar del equipo de OSM de Argentina, Martin Andres Gomez Gimenez, pero sólo es para Argentina y países limítrofes.

Se vé particularmente bien en el GPS, y genera una nueva versión aproximadamente una vez por mes. Está buenísimo ver errores o cosas que faltan cuando vas circulando, llegás a casa y los arreglas en OSM, esperás una nueva versión y listo, problema resuelto.

La instalación es sumamente simple:
  • Se bajan el archivo gmapsupp.img de alguno de estos enlaces:
  • Copian el archivo al GPS, para esto hay dos opciones:
  • Via USB:
    • Conectas el GPS a la compu por USB.
    • Copias el archivo en la carpeta del GPS donde ya exista un archivo con el mismo nombre.
  • Via tarjeta de memoria (para los GPS con tarjeta de memoria):
    • Pones la tarjeta en la compu.
    • Copias el archivo en la carpeta donde ya exista un archivo con el mismo nombre.
  • En ambos casos es recomendable guardar el archivo gmapsupp.img original por las dudas.
  • Tengo entendido que en algunos GPS podés tener varios mapas, en ese caso se puede renombrar el archivo lo por lo que quieras manteniendo la extensión img. No lo pude probar porque mi GPS no lo soporta.

Bueno, eso es todo, que lo disfruten, y a colaborar con el proyecto OSM que esta muy bueno y es muy fácil.

lunes, 18 de agosto de 2014

Mazo de leña

Hace rato que andaba necesitando un mazo para darle a los formones o encajar los encastres de madera cuando hago algún proyecto, así que me hice uno, y de la forma más simple y barata:

Fui hasta la pila de leña, busque un pedazo para la cabeza, y otro para el mango, cortar, encastrar, y lijar un poquito.


Listo, un mazo que no marca la madera por $0. La madera es álamo de unos troncos que cortaron unos chicos en el fondo de casa, y estaba esperando a ser consumida en el próximo asado.


Este mazo fué indispensable para hacer las colas de milano del porta rollos que hice hace poco, y creo que va a seguir funcionando por un buen rato.

Lo bueno es que si se rompe o no me sirve, igualmente puedo usarlo en alguna parrillada :)

Algunos detalles:


lunes, 11 de agosto de 2014

Porta papel higiénico de lenga

Como no tenemos casi nada en la casa, estuve haciendo unas cuantas cosas funcionales como estantes, percheros, Vale hizo unos cuantos muebles con cajas de madera, etc.

Esta vez era el turno de hacer que el rollo de papel higiénico se quede quieto, y me dí el gusto de hacer algo un poco más complicado de lo que era necesario.

Tenía un par de tablas de lenga que me sobraron de la quesera, así que saqué las medidas de un rollo de 80m, y corte las tres piezas necesarias (el fondo y los dos laterales).

Para la unión me puse un poco pretencioso y decidí encastrarlas con una unión que se llama "cola de milano" (o cola de pato), que generalmente se usa en muebles finos, cajas, cajones, pero por acá también lo he visto en uniones de columnas y vigas.


Por ser la primera vez que lo hago, y usando herramientas manuales (sierra y formón), me salieron bastante bien.

Con la fresadora le hice unos zócalos para calzar el eje donde va el rollo, que no es más que un pedazo de leña que tenía en el fondo, listo para ser usado en el chulengo.


La caja la termine lijando hasta 220 y aplicando goma laca usando una técnica similar (pero más simple) a la que usan los lustradores de muebles finos e instrumentos musicales: el lustrado a muñeca. Ni por asomo llego al nivel de terminación de estos tipos, pero en poco tiempo se puede llegar a un resultado bastante agradable, especialmente en un proyecto de este tipo.


viernes, 8 de agosto de 2014

Quesera de lenga

Hace un par de meses empezamos a comprar queso de rallar y rallarlo nosotros, pero lo estábamos guardando en un tuper de plástico horrible. Así que fui a comprar un poco de lenga, y armé una cajita para guardar el queso rallado.

Los encastres no fueron tan difíciles como parecen, pero como sabía que iba a tener errores (y tiene unos cuantos), copie un estilo que se ve bastante por acá: se matan todos los bordes con un formón o navaja y de esta forma resaltan las uniones (en vez de tratar que queden perfectas). Así la caja quedo armada y bastante bien presentada. 


La manijita de queso la pinto Oli, y ella también se encargo de pegarla en la tapa. A cambio tuve que hacerle unos cuantos quesitos para jugar.


martes, 24 de junio de 2014

Mapas topograficos propios

Hace un tiempo había subido unos mapas topográficos que hice a otro blog, pero se cayó el servicio donde estaban, asi que los pongo de nuevo, esta vez en un server propio.

Los mapas son imagenes diseñadas para imprimir en tamaño A3. Pueden mandar a imprimirlos a una imprenta o imprimirlo en dos A4 y pegarlas.

Va la lista de mapas que tengo por el momento:



La verdad que estaba bueno hacer esto, deberia volver a hacer algunos de la zona (SMA).

jueves, 16 de enero de 2014

Mi primer cajita de madera

Oli recibió un mazo de cartas para navidad, así que le hice una cajita de madera para que las guarde, o para que guarde lo que quiera.


 Use los restos de una tabla de lenga de 1 pulgada, la corte a 1/2 pulgada de espesor con mi nueva sierra japonesa. Es un lujo usar una herramienta tan buena, y eso que es de las más baratas, no me imagino lo que son las caras.


Como Oli quería tanto un unicornio, encontré una forma muy simple de hacer el estampado: se imprime el dibujo en laser (con fotocopias no funcionó), se pone el papel en la superficie donde se quiere hacer el estampado con el dibujo para abajo, y se frota el papel con quita esmalte de uñas. Nos divertimos mucho haciendo esto y también funciona como tatuajes y en la ropa (incluso aguanta unos lavados).

Quería ponerle unos imanes para que la tapa quede cerrada, pero parece que se perdieron en el correo, tengo que ir a averiguar.

viernes, 10 de enero de 2014

Peceto relleno de fin de año

Este fin de año hice un peceto relleno, más o menos improvisando y quedó buenísimo, va la receta.

Ingredientes:

  • 1 peceto entero de unos 2 kgs
  • 3 chorizos
  • hongos secos, un puñado
  • jerez
  • mostaza, bastante
  • calditos de verdura, 1 o 2
  • vino blanco, 2 vasos
  • aceite
  • maizena
Poner a remojar los hongos secos en jerez unos minutos para que queden blandos y sabrosos. Cuando estén hidratados cortarlos en pedacitos y mezclarlos con el relleno de los tres chorizos (sin la piel).

Cortar el peceto a lo largo, unos 3/4 del ancho que tenga, y abrirlo como un libro. Sacar un poco de carne de cada 'hoja' para que entre el relleno.

Acomodar la mezcla de chorizo y hongos en el peceto y cerrarlo. Se puede atar como un matambre, o como hice en la foto, ponerle palillos en toda la abertura y cerrarlo cruzando un piolín como si te estuvieras atando unos borcegos.

Embadurnar bien el peceto con mostaza y meterlo en una bolsa de horno (esta parte es un enchastre). Agregar a la bolsa los calditos desmenuzados, el vaso de vino blanco y unas cucharadas de aceite. Cerrar la bolsa y cocinar un poco más de una hora (yo lo cocine una hora y me quedó muy jugoso, podría ser 1:20).

Abrir la bolsa y rescatar todo el jugo, espesarlo en una cacerola con una cucharada de maizena diluida en un vaso de vino blanco. Tengan en cuenta que la salsa tiene mostaza y calditos, así que es bastante salada, por lo tanto no le agreguen nada de sal ni a la salsa ni a la carne. Para comer con menos sal se pueden obviar los calditos o usar calditos sin sal.

Volver a meter el peceto en el horno, sin la bolsa, hasta que quede un poco dorado.


Dejar enfriar un poco antes de servirlo cortado en rodajas y cubierto con la salsa. Muy fácil y sabroso.

Les debo las fotos del peceto servido, estaba muy rico como para ir a buscar la cámara.

miércoles, 13 de noviembre de 2013

SSH avanzado - Multiples Hosts a la vez y conexión automática a través de un pivot host

Llegó el momento de administrar varios servidores, y a veces las tareas se vuelven un poco repetitivas, especialmente cuando los servers que estás administrando son replicas para obtener alta disponibilidad: las configuraciones, ubicación de archivos, paquetes instalados, etc, son iguales en todos los servers. Entonces para que ejecutar actualizaciones y cambios de configuraciones secuencialmente si se puede hacer todo junto?

Para esto recurrí a una herramienta indispensable para los sysadmins que manejan varios servers: ClusterSSH, o "el pulpo", como lo llama el gran sysadmin Germán, a quién vi manejando unos 30 servers a la vez.

ClusterSSH se conecta a varios servers a la vez, abriendo una ventana de xterm por cada server, y una ventana extra donde ingresas comandos y estos se replican a todos los servers conectados (o podés elegir a cuales desde uno de los menúes). Si querés ejecutar algo solo en un server, seleccionas la ventana adecuada y listo. Super simple.

En mi caso, el problema para usarlo era que me conecto a todos mis servers desde un server que uso como pivot, de esta forma tengo mi 'estación de trabajo' principal en la nube y puedo acceder desde cualquier lado. Como el ClusterSSH necesita X (usa xterm), levantarlo en mi server pivot no es una opción muy satisfactoria ya que acá en el fin del mundo la velocidad de conexión no es tan buena como para levantar aplicaciones X remotas.

Acá entra en juego la versatilidad de ssh, si puedo hacer que desde mi notebook se conecte a un server pasando automáticamente por el pivot, seguramente puedo usar ClusterSSH local en mi notebook sin tener que abrir el acceso a todos mis servers.

La configuración es muy simple, todo va en el ~/.ssh/config:

Host pivot
    Hostname pivot.example.com

Host server1
    ProxyCommand ssh -q pivot -nc -q0 server1

Host server2
    ProxyCommand ssh -q pivot -nc -q0 server2


Para que esto funcione, tenemos que tener acceso a pivot.example.com, y desde este server poder acceder por ssh a los servers server1 y server2 (tiene que poder resolver los host names como los ponemos aca). Si usamos usuarios diferentes en los servers, se indican con la opción User.

Para probar, desde tu máquina local haces: 'ssh server1' o 'ssh server2', ambos deberían conectarse directamente a los servers pasando por la máquina pivot.

Ahora que todo funciona, instalás 'el pulpo' y entrás a los dos (o n) servers a la vez:

$ sudo apt-get install clusterssh
...
$ cssh server1 server2

Y empieza la diversión... y si, la gente de sistemas somos vagos por definición.

Imagen sacada de la web, créditos a quién corresponda.

martes, 7 de mayo de 2013

Caminata a la cascada

Por suerte a mi vecino (tambíen llamado Gabriel) también le gusta salir a caminar por la montaña, así que el sábado pasado nos fuimos a dar una vuelta por los Altos del Chapelco, donde yo ya estuve caminando y relevando calles para OpenStreetMap.


Cuando llegamos a un puentecito me dice que le habían comentado que siguiendo uno de los caminos se llegaba a una cascada, así que fuimos por ese lado. Al rato encontramos a una pareja paseando el perro y nos dijeron que sí, que era por ahí, pero que íbamos a llegar un poco justos con la luz del sol. Así que le metimos pata.


En total son unos 5km desde casa por calles y caminos (se puede llegar en auto) y después unos 600 metros más siguiendo el cauce de un arroyo seco (supongo que en primavera debe tener caudal) hasta llegar a la cascada.

El agua helada y riquísima.

Los últimos 150 metros son bastante empinados, o eso me pareció por la falta de estado... llegué casi sin aire en los pulmones, así que mejor que me ponga a hacer algo de ejercicio.


Llegamos a la cascada, el lugar más alto a menos que quieras escalar una pared de roca, y la vista desde ahí es muy linda, incluso se llega a ver el lago Lolog. Justo estaba atardeciendo así que todo tenía un color anaranjado especial.

Prueba que la subida era empinada, aparte de no estar en buen estado.
De paso aproveche la salida para probar el nuevo chiche montañero que me compré, funciona muy bien y es una pavada manejarlo. Lástima que confié en pilas chinas baratas bajo la promesa de tener más mAh que las de marca, y me duraron menos de dos horas cuando se supone que tienen que durar 24hs. Voy a tener que recargarlas a pleno y volver a probar... sino quedarán para los juguetes de los chicos.

Con un poco de ganas, arriba a la izquierda se puede ver el Lolog.

Quedó guardado el waypoint para volver en primavera o verano. Si el arroyo tiene agua va a ser un lugar muy lindo para hacer un picnic y chapotear un rato.

Al rato de llegar se puso el Sol, así que tuvimos que bajar rápido.

martes, 8 de enero de 2013

Prompt para desarrolladores multi SCM

Para los que manejan varios SCMs a la vez, ya sea por gusto o por necesidad, va un tip para definir el tipo de SCM del directorio actual, y si hay archivos sin comitear (mostrando un * en el prompt).
En el caso de git, también muesta el branch en el que estás trabajando.

Ponelo en el ~/.bashrc o cualquier otro archivo que se importe al iniciar la sesión de bash:

-----------------------------------------------
PS1='\[\033[01;32m\]\h\[\033[00m\] \[\033[01;34m\]\W\[\033[01;33m\]$(get_repo_info)\[\033[00m\]\$ '

function get_repo_info {
    INFO=""
    DIRTY=""

    for i in svn:info bzr:info hg:summary
    do
        TYPE=`echo $i | cut -f1 -d':'`
        COMMAND=`echo $i | cut -f2 -d':'`
        if [ "$INFO" == "" ] && [ `$TYPE $COMMAND 2>/dev/null | wc -l` -gt 0 ]
        then
            [ `$TYPE status 2> /dev/null | grep -v '?' | wc -l` -gt 0 ] && DIRTY='*'
            INFO="⚡$TYPE$DIRTY"
        fi
    done

    if [ "$INFO" == "" ] && [ `git branch 2>/dev/null | wc -l` -gt 0 ]
    then
        BRANCH=`git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/\1/"`
        [ `git status --porcelain 2> /dev/null | wc -l` -gt 0 ] && DIRTY='*'
        INFO="⚡git:$BRANCH$DIRTY"
    fi

    echo $INFO
}
-----------------------------------------------

Y si querés verlo antes de probarlo, una captura: