Ir al contenido principal

This is my blog, more about me at marianoguerra.github.io

🦋 @marianoguerra.org 🐘 @marianoguerra@hachyderm.io 🐦 @warianoguerra

Mallorca

este post esta en draft hace como dos semanas asi que sale como sale

unos dias antes de salir en el vuelo a mallorca una amiga nos manda una noticia sobre la empresa por la que ibamos a volar (Ryaniar)

/galleries/Mallorca/IMG_4640.JPG

Decia que 3 vuelos de la empresa habian aterrizado de emergencia en valencia por falta de combustible ya que los vuelos van con el combustible justo para ahorrar plata.

/galleries/Mallorca/IMG_4676.JPG

de todas formas fuimos :D

/galleries/Mallorca/IMG_4653.JPG

si bien nos habian dicho que mallorca estaba lleno de alemanes no nos esperabamos lo que encontramos...

/galleries/Mallorca/IMG_4686.JPG

del centro hacia un lado de la ciudad es autenticamente tierra alemana.

/galleries/Mallorca/IMG_4699.JPG

los alemanes le dicen "el estado numero 17"

/galleries/Mallorca/IMG_4703.JPG

carteles en aleman, diarios alemanes, restaurants alemanes, productos alemanes en los supermercados, menues en aleman principalmente, te atienden diciendote "hallo", los televisores prendidos en canales alemanes etc etc.

/galleries/Mallorca/IMG_4735.JPG

del otro lado del centro ya se encuentran esos escurridisos seres conocidos como "espanioles", tambien algunos franceses e ingleses.

/galleries/Mallorca/IMG_4755.JPG

uno siempre pienza que a esos lugares va a ir, se va a tirar en la playa y estar ahi tirado por muchas horas.

/galleries/Mallorca/IMG_4772.JPG

lo que suele suceder es que al rato uno ya se aburre y empieza a caminar, andar en bici, jugar algun juego playero o similar.

/galleries/Mallorca/IMG_4801.JPG

en nuestro caso el primer dia caminamos como unos desgraciados por la costa desde donde estabamos hasta el centro de la ciudad haciendo paradas estrategicas en las playas.

/galleries/Mallorca/DSCN0444.JPG

el segundo dia alquilamos unas bicicletas y fuimos a una playa "del otro lado" que estaba muy buena.

/galleries/Mallorca/DSCN0459.JPG

el tercer dia despues de una caminata manianera hicimos playa ya que a la tarde teniamos el vuelo de vuelta.

tl;dr no sabes que bueno esta el cafe helado que venden ahi (?)

Argentina vs Alemania en Frankfurt

Argentina vs Alemania en Frankfurt

primera vez que voy a ver un partido de la seleccion, que mejor circunstancia que contra alemania.

/galleries/Argentina-vs-Alemania-en-Frankfurt/IMG_4603.JPG

un A380 despegando desde el aeropuerto de frankfurt en la cercania

nos organizamos con pato y 3 amigos argentinos que viven en stuttgart y partimos para frankfurt unas horas antes.

/galleries/Argentina-vs-Alemania-en-Frankfurt/IMG_4604.JPG

alimentandonos

llegados con tiempo, estacionamos e ingerimos alimentos germanos

/galleries/Argentina-vs-Alemania-en-Frankfurt/IMG_4608.JPG

dos hinchas de racing desconocidos se encuentran en frankfurt

despues de un rato entramos al estadio y paseamos por los alrededores.

/galleries/Argentina-vs-Alemania-en-Frankfurt/IMG_4610.JPG

recien entrados

un rato antes del partido entramos y a ver el partido.

/galleries/Argentina-vs-Alemania-en-Frankfurt/IMG_4615.JPG

con pato

la verdad estuvo muy bueno, mejor que argentina gano aunque fue un partido raro :)

/galleries/Argentina-vs-Alemania-en-Frankfurt/IMG_4625.JPG

a punto de empezar

todas estas oraciones estan aca solo para separar las fotos, no estoy muy inspirado hoy :P

/galleries/Argentina-vs-Alemania-en-Frankfurt/IMG_4627.JPG

a punto de empezar

como nota final y lo unico interesante de este post:

  • fuera de las camisetas de argentina la mayoria de camisetas eran de boca

  • vi dos de racing, una de newells y 2 de belgrano de cordoba (mas las 2 banderas de belgrano que estaban colgadas)

  • un aleman se acerco y nos dijo "ustedes son argentinos de en serio?" para luego preguntarnos de donde veniamos :D

mail local con fetchmail, esmtp, maildrop, notmuch y emacs-notmuch

esto es un brain dump de lo que recuerdo que hice ya que en el medio probe con cosas que despues borre como msmtp, procmail y algunas otras cosas mas.

donde pongo tuusuario es tu usuario de gmail

donde pongo nombreusuariolocal es el usuario de tu maquina

primero hay que instalar los paquetes que necesitamos:

sudo apt-get install esmtp notmuch-emacs fetchmail maildrop

configuramos esmtp en ~/.esmtprc:

identity tuusuario@gmail.com
        hostname smtp.gmail.com:587
        username "tuusuario"
        password "tucontrasenia"
        starttls required

configuramos fetchmail en ~/.fetchmailrc:

set postmaster "nombreusuariolocal"
set bouncemail
set no spambounce
set softbounce
set properties ""
set logfile /home/nombreusuariolocal/.fetchmail.log
poll pop.gmail.com with proto POP3 and options no dns
       user 'tuusuario' there with password 'tucontrasenia' is 'nombreusuariolocal' here options keep ssl mda '/usr/bin/maildrop'

configuramos maildrop en ~/.mailfilter:

DEFAULT="$HOME/Maildir"

configuramos notmuch:

notmuch setup

lo mas importante en el paso anterior es que le digas que el path es /home/nombreusuariolocal/Maildir

creamos el directorio donde va a ir el mail:

cd
maildirmake Maildir

agregamos certificados para hacer andar starttls en esmtp:

mkdir ~/.authenticate
chmod 0700 ~/.authenticate
wget http://curl.haxx.se/ca/cacert.pem
mv cacert.pem ~/.authenticate/ca.pem
chmod 0600 ~/.authenticate/ca.pem

en tu emacsrc en ~/.emacs agrega esta linea para que carge notmuch:

(autoload 'notmuch "notmuch" "notmuch mail" t)

fetcheamos los mails:

fetchmail -v

le decimos a notmuch que indexe:

notmuch new

cuando estas seguro que anda podes agregarlo para que fetchee automaticamente con cron:

crontab -e

agrega esta linea:

0 * * * * fetchmail && notmuch new

cambia la expresion para que fetchee cada cuanto te parezca.

ahora cuando quieras revisar el mail con emacs podes hacerlo con:

emacs -f notmuch

apreta ? para ver la ayuda (yo no se nada de emacs y aun asi es muy facil de usar)

otras opciones para usar notmuch es con vim, mutt o desde la consola, pero como Chipaca me dijo que los desarrolladores de notmuch usan la version de emacs y andaba buscando una excusa para aprender a usarlo que mejor que esta :)

como nota final, gracias a Chipaca y Styxman por ayudarme con el setup!

contains case insensitive en jquery 1.8 (:containsi)

digamos que queres filtrar algo en jquery basado en el texto de algunos nodos, en tal caso usarias :contains

pero que si queres que sea case insensitive?

luego de buscar un poco vas a encontrar este issue de jquery y vas a copiar y pegar un codigo de hace 3 anios para darte cuenta que se rompe en jquery >= 1.8

despues vas a usar esta version:

function jqueryContainsI(text) {
    return function (elem) {
        return (elem.textContent || elem.innerText || $.text(elem)).toLowerCase().indexOf(text.toLowerCase()) > -1;
    };
}

jqueryContainsI.sizzleFilter = true;

// add case insensitive :contains filter called :containsi (see the last i)
$.extend($.expr[':'], {
    'containsi': jqueryContainsI
});

case insensitive contains in jquery 1.8 (:containsi)

say you want to do some filtering based on the text content of some nodes, in that case you would use :contains

but what if you want it to be case insensitive?

soon after searching you will find this jquery issue and copy and paste code from 3 years ago to realize that it breaks in jquery >= 1.8

then you will use this version:

function jqueryContainsI(text) {
    return function (elem) {
        return (elem.textContent || elem.innerText || $.text(elem)).toLowerCase().indexOf(text.toLowerCase()) > -1;
    };
}

jqueryContainsI.sizzleFilter = true;

// add case insensitive :contains filter called :containsi (see the last i)
$.extend($.expr[':'], {
    'containsi': jqueryContainsI
});

Fiesta del vino en Colmar

Fiesta del vino en Colmar

/galleries/alsacia/IMG_4353.JPG

cordoba entre los grandes (?)

aunque los posts están pegados este paso una o dos semanas despues del otro.

pato (medio en joda): vamos a la fiesta del vino en Colmar [1]

yo: vamo'

listo, así se resolvió.

/galleries/alsacia/IMG_4354.JPG

llegados a colmar

el viaje fue gentilmente proveído por una pareja de costarricenses que conocimos durante la semana en un recital de calle 13 [2] en Karlsruhe [3] [4] en el cual pude experimentar lo que es viajar a 260Km/h por una autobahn por varios kilómetros.

/galleries/alsacia/IMG_4355.JPG

joda "french style"

dada la velocidad del conductor llegamos rápido al destino donde nos encontramos con una especie de feria donde según palabras de un local "los duenios de los viniedos cercanos se deshacen de lo que le queda de stock y aprovechan para comer y comprar maquinaria/herramientas/cosas".

/galleries/alsacia/IMG_4388.JPG

joda "french style" II :P

el local nos dijo que lo que se hace ahí es tomar vino por etapa, de menos a mas dulce y que al menos teníamos que tomar 5 variedades.

/galleries/alsacia/IMG_4391.JPG

siesta "french style" (?)

fáciles de convencer empezamos con la versión local del champaigne llamado algo así como Crémant y seguimos con variedades de vino que terminaron en uno que era muy dulce.

/galleries/alsacia/IMG_4396.JPG

desayuno "french style" (bue, se esta poniendo denso el vago)

entre medio comimos, caminamos etc etc.

/galleries/alsacia/IMG_4410.JPG

a la salida fuimos a dormir a una ciudad cercana llamada Thann, donde a la maniana siguiente desayunamos para luego partir a la montania mas alta de Alsacia donde almorzamos Tarte Flambee y caminamos para luego cruzar a Alemania para tomar el tren de regreso.

/galleries/alsacia/IMG_4426.JPG

almuerzo

mas fotos en el Album de Alsacia

Cruzando paises en bicicleta

Cruzando países en bicicleta

bue, el titulo es un poco exagerado, ya que arrancamos carca de la frontera.

hace unas semanas con pato tomamos un tren hasta Rastatt, de ahí uno imaginaria que empieza la historia, pero no!

apenas descendido del tren pato grita "la mochila!", tiro la bici, me doy vuelta, aprieto el botón de la puerta y no abre, en un momento de película abro la puerta con los brazos ante la mirada atónita de los pasajeros, corro al vagón, agarro la mochila y no logro abrir la puerta, nuevamente pato grita "el pasaje!".

resulta que ella tenia el pasaje así que estaba viajando en negro, la llamo por teléfono y le digo que me bajo en la siguiente ciudad y pego la vuelta.

por suerte la próxima ciudad Baden Baden esta cerca, apenas me bajo encaro para ir a ver cuando pasa el próximo tren de vuelta cuando veo uno con cara de "yo voy a donde vos querés ir"[1] y bajo la consigna "donde viaja uno en negro viajan dos" me subí al tren para volver al lugar que no debería haber abandonado nunca.

ya allí nos encontramos con nuestros secuaces y ante nuestra intención deportiva la ciudad decide regalarnos una buena tormenta que es aprovechada por los intentos de ciclistas para comer unas papas fritas.

al terminar (las papas y la tormenta) salimos en bici camino al cruce a Francia a unos 10Km de distancia, ahí cruzamos en un bote que usa la corriente del rió para moverse, ya del otro lado pedaleamos como desgraciados por el costado del Rhin, a través de una reserva ecológica, ciudades y demás para llegar a nuestro destino del día: Gambsheim

como es de costumbre los franceses te dan a comer y beber hasta que te quedas ciego, a la maniana siguiente luego de adquirir facturas en una panadería utilizando mis habilidades de mimo que no habla francés, agarramos las bicicletas y emprendemos camino a Strasbourg donde tomamos el tren que nos depositara horas después en el punto de partida de esta historia.

el resultado fue de aproximadamente 60Km, como puntos altos ademas de los ya mencionados, pedaleamos bastante por la Linea Maginot por lo que vimos una buena cantidad de bunkers de la guerra abandonados.

fotos? ah... si... lleve la cámara pero las cuatro pilas estaban gastadas, te las debo para la próxima...

yo y virtualenv

aca van algunas notas de mi primer uso de virtualenv

creo el directorio de la aplicacion:

mkdir chachara
cd chachara

inicio el virtualenv usando distribute:

virtualenv --distribute chachara
cd chachara

activamos el virtualenv:

source bin/activate

instalo lo que me hace falta:

pip install flask

si haces una listita de todos los paquetes que necesitas y los queres instalar en el directorio donde esta el codigo (por ejemplo si lo queres deployear en algun lugar autocontenido como google app engine) usa este comando:

pip install --ignore-installed -t . -r requirements.txt

SassPython - jugando con ctypes

SassPython - bindings for libsass

why?

who?

marianoguerra

how?

first of all download, compile and install libsass:

git clone https://github.com/hcatlin/libsass.git
cd libsass
./configure
make
sudo make install

then you can play with this project in two ways

command line

if no options provided read from stdin:

➜  src  ./sass.py
table.hl td.ln {
  text-align: right;
}

table.hl td.ln {
  text-align: right; }

from a file:

➜  src  ./sass.py -f ../examples/simple.scss

.content-navigation {
  border-color: #3bbfce;
  color: darken(#3bbfce, 9%); }

.border {
  padding: 8px;
  margin: 8px;
  border-color: #3bbfce; }

from a folder:

http://chzscience.files.wordpress.com/2011/11/funny-science-news-experiments-memes-dog-science-fuzzy-logic.jpg
# I think it doesn't work, never used sass before and don't know what
# this means :)
➜  src  ./sass.py -d ../examples/

you can't chew gum and walk at the same time:

➜  src  ./sass.py -f ../examples/simple.scss -d ~
usage: sass.py [-h] [-f FILE_PATH | -d DIR_PATH]
sass.py: error: argument -d/--dir: not allowed with argument -f/--file

code

from a string:

Python 2.7.3 (default, Apr 20 2012, 22:44:07)

>>> import sass
>>> STYLE = """
... table.hl td.ln {
...   text-align: right;
... }
... """

>>> ok, style = sass.compile(STYLE)

>>> ok
True

>>> print style
table.hl td.ln {
  text-align: right; }

from a file:

>>> ok, style = sass.compile_path("../examples/simple.scss")

>>> ok
True

>>> print style
.content-navigation {
  border-color: #3bbfce;
  color: darken(#3bbfce, 9%); }

.border {
  padding: 8px;
  margin: 8px;
  border-color: #3bbfce; }

from a folder:

>>> ok, style = sass.compile_folder("../examples/")

# ???
# Profit!

license?

MIT + optional beer for the creator

what's left to do?

  • lookup libsass more inteligently

  • python 3 support (should be easy)

  • package it and submit it to pypi

  • make the folder stuff work

  • add command line options to specify option styles

  • see what the return value of the compile_* means and use it if needed

me mude!

me mude de blog a mi propio blog, hosteado por mi usando nikola (usalo!)

aca esta la nueva direccion:

http://www.marianoguerra.org/

los espero por allá, a los que siguen este blog por cosas estilo google connect, el blog tiene rss :)

este blog queda acá por razones históricas, para conservar los comentarios (creo que voy a poder migrarlos) y para no romper links (como si alguien linkeara acá)

nos vemos!