Juanjo Conti: Hoy tuve una suerte pequeña

Una suerte pequeña, Claudia PiñeiroHoy, casi de noche. Estaba fresco pero me había abrigado. Caminé por la peatonal de Santa Fe haciendo tiempo, paseando un rato. Entré a la librería sin nada en mente, revisé las mesas con los títulos nuevos, pasé la mano por algunas letras de model. Llegué a la estantería con las obras completas de Borges y leí un poema al azar. Al costado, en un anaquel, las novelas de Claudia Piñeiro. La única que no leí es la última que publicó, Una suerte pequeña. La tomo y ya se que voy a comprarla, leo el primer párrafo y ya se me creo esa necesidad de leerla. Empiezo a leer el primer capítulo ahí, parado en la intersección entre dos pasillos. Recibo un mensaje, tengo que ponerme en camino. Voy hasta la caja sin soltarlo. "Me podés decir el precio de este (libro)", digo tratando de disimular mi ansiedad, como un chico que no quiere que la chica se de cuenta que le gusta. "Si es 150 o menos me lo llevo". "200", me responde. "Bueno, lo llevo".

Me pasa con algunos autores, una vez que leo uno de sus libros, tengo que leerlos todos.

Mariano Guerra: Enable CORS in Apache Solr

Quick post since there's no easy googlable (?) resource to do this.

open the file server/solr-webapp/webapp/WEB-INF/web.xml and add the following XML before the existing filter section:

<filter>
    <filter-name>cross-origin</filter-name>
    <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
    <init-param>
         <param-name>allowedOrigins</param-name>
         <param-value>http://localhost*</param-value>
    </init-param>
     <init-param>
         <param-name>allowedMethods</param-name>
         <param-value>GET,POST,DELETE,PUT,HEAD,OPTIONS</param-value>
     </init-param>
     <init-param>
         <param-name>allowedHeaders</param-name>
         <param-value>origin, content-type, cache-control, accept, options, authorization, x-requested-with</param-value>
     </init-param>
    <init-param>
        <param-name>supportsCredentials</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
      <param-name>chainPreflight</param-name>
      <param-value>false</param-value>
    </init-param>
</filter>

<filter-mapping>
  <filter-name>cross-origin</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

taken from this Stack Overflow response

Marcos Dione: socks-over-ssh

Soon I'll be changing jobs, going from one MegaCorp to another. The problem is, my current workplace already has a silly security policy that does not allow you to use IRC or do HTTP against a dynamic DNS/IP (like the one at home), but happily lets you use webmails through which you can send anyone the company's IP without leaving much trace. Furthermore, my next assignment will have stricter Internet policy, so I finally sit down to see alternatives to have more traffic with the less footprint.

As I already mentioned, back home I have ssh listening on port 443 (and the port forwarded from the router to the server), and this worked for a while. Then these connections were shutdown, so I used stunnel on the server and openssl s_client plus some ssh config magic to go over that. This allowed me to use screen and irssi to do IRC and that was enough for a while. This meant I could talk to the communities around the tools and libs we were using.

But now I plan to change the way I do my mail. So far the setup includes using fetchmail to bring everything to that server, then use dovecot and/or a webmail to check from anywhere. But as ports are filtered and I already use 443 for ssh, I can't connect to IMAPS and I don't want to use something like sslh to multiple ssh and https on the same port because it sounds to ohacky, I turned towards SOCKS proxying.

Setting up a SOCKS proxy through ssh is simple. Most of the tutorials you'll find online use putty, but here I'll show how to translate those to the CLI client:

Host home
    Hostname www.xxx.yyy.zzz  # do not even do a DNS req; the IP is mostly static for me
    Port 443
    <span class="createlink">ProxyCommand</span> openssl s_client -connect %h:%p -quiet 2>/dev/null
    <span class="createlink">DynamicForward</span> 9050  # this is the line that gives you a SOCKS proxy

Then the next step is to configure each of your clients to use it. Most clients have an option for that, but when not, you need a proxyfier. For instance, even when KDE has a global setting for the SOCKS proxy, kopete does not seem to honor it. These proxifyers work by redirecting any connect(), gethostbyname() and most probably others to the SOCKS proxy. One of the best sources for SOCKS configuration is TOR's wiki, which heavily relies on SOCKS proxies, but right now the proxyfier they suggest (dante-client) does not install on my Debian setup, so I went with proxychains. Its final config is quite simple:

# Strict - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# all proxies must be online to play in chain
# otherwise EINTR is returned to the app
strict_chain

# Proxy DNS requests - no leak for DNS data
proxy_dns

# Some timeouts in milliseconds
tcp_read_time_out 15000
tcp_connect_time_out 8000

[ProxyList]
# defaults set to "tor"
socks5  127.0.0.1 9050

In fact, that's the default config with only one modification: the SOCKS protocol is forced to 5, so we can do DNS requests with its UDP support.

With this simple setup I managed to connect to my XMMP server with kopete, which is already a lot. Next step will be to figure out the mail setup and I can call this done.


sysadmin piercing

Facundo Batista: Se viene se viene el PyCamp 2015


La semana que viene (casi ahora ahorita) arranca una nueva edición del mejor evento de programación del mundo mundial.

Esta vez se hace en La Serranita, Córdoba.

Hay un montón de propuestas de varias personas, yo en particular propuse armar una especie de verificador de subtítulos (la idea es verificar si un subtítulo matchea con el video... o mejor dicho, con el audio... lo básico es encontrar si en el momento del subtítulo hay alguien hablando, con eso uno ya se asegura que el subtítulo está sincronizado), trabajar un poco en Encuentro y fades, y armar un Python Bug Day (para trabajar un rato en Python en sí, cerrar algún bug del lenguaje propiamente dicho... mucho código del lenguaje es en C, pero también hay mucho en Python mismo, y hay algunas cosas que son sencillas).

Aproveché y preparé/actualicé instrucciones de "cómo configurar/inicializar/arrancar con el proyecto" tanto para Encuentro como para fades. Para Python en sí no hace falta, ya que hay clarísimas instrucciones en la Python Developer's Guide :)

Ya les reportaré como fue todo :)

Manuel Kaufmann (Humitos): Cebras en Sucre, Bolivia

Caminando por las calles de Sucre nos encontramos varias veces con Cebras. ¡Sí, cebras en la calle!

Durante un par de días nos preguntábamos: "¿Qué catso hacen estos tipos disfrazados de cebras en el medio de la calle y saludando a la gente?". Hasta que un día, no aguantábamos más y nos detuvimos a preguntarles para qué estaban ahí.

Nos dijeron que es una campaña de educación vial desde el gobierno. Ellos simplemente tienen buena onda con los chicos, les dan algún que otro tip a los conductores y "ordenan el tránsito" amablemente. Igualmente, como todo, muchos no le dan ni bola.

Manuel Kaufmann (Humitos): Cochabamba latente

Luego de más de un mes de complicaciones, conflictos y donde nada nos salía bien, ¡llegamos a Cochabamba!.

IMG_20150805_130735.thumbnail.jpg

Recién llegados a Cochabamba: a salvo los 3

Junto a @EllaQuimica, tenemos muchísimas ganas de recuperar el tiempo perdido del último mes en el que estuvimos bloqueados en Sucre por el conflicto cívico que hubo en Potosi. Es por eso que estamos organizando la primera reunión aquí en la ciudad de Cochabamba para empezar a gestar todo lo que sucederá durante los meses de Agosto y Septiembre.

Invitamos a todas las comunidades regionales, así como también a particulares que estén interesados en colaborar en la organización de cualquiera de los eventos que hemos organizado y también a todo quien tenga ganas de aportar ideas nuevas.

La idea es juntarnos el Sábado 8 de Agosto en el café del mARTadero: La Mosquita Muerta a las 18hs para conocernos principalmente -ya que por suerte me ha contactado muchísima gente- hacer una pequeña presentación del proyecto Argentina en Python y comenzar con la propuesta de organización de diferentes eventos hacia las próximas semanas.

Personalmente, tengo muchas ganas de programar en Python, de conocer gente con buena onda, de hacer un Mapatón (o similar) de OpenStreetMap, conocer la situación actual de Bolivia con el Software Libre, hacer amigos, seguir inmersos en su cultura y charlar harto (como dicen aquí)

Así que, si te copa la idea, ¡sumate a esta reunión y cambiemos el mundo juntos!

Manuel Kaufmann (Humitos): Confidencialidad médica: cero

En Posadas, Misiones, Argentina fuimos 3 veces al hospital. La primera porque yo me pesqué una gripe infernal que me dejó 7 días de cama. Entre esos días que no servía para nada, pasó el PyDay Apóstoles en donde me costó mucho ponerle onda durante toda la conferencia. Por suerte, para el momento de mi charla, desperté y brillé (?).

La segunda vez, bueno, creo que no puedo contar públicamente porqué fuimos al hospital. De cualquier manera, Johanna se encargó de contarlo públicamente en el hospital ya que para poder tener acceso a una consulta tenés que decir porqué fuiste a una persona que está detrás del mostrador:

IMG_20150528_141859.thumbnail.jpg

Johanna explicando porqué estábamos en el hospital

Digo que ella se encargo de hacerlo público a todas las personas que estaban en el hospital, porque uno cuando llega para que le den un turno en el consultorio, tiene que explicarle a la médica que está de turno detrás de ese mostrador cuál es el problema/inconveniente que tiene y, de acuerdo a eso te derivan a uno de los médicos que está de guardia.

Entonces, vos tenés que explicarles a la luz de todos que tenés un problema vaya uno a saber dónde y que por eso estás en el hospital.

Es la primera vez que veo un hospital que se maneja así y me parecio muy raro. Desde chico me han dicho que existe algo que se llama "confidencialidad médica" en dónde el paciente y el médico tienen una especie de relación secreta en la que el médico no puede andar contando por ahí cuáles son los problemas de los pacientes que atiende.

La tercera vez que fuimos al hospital, creo que tampoco quiero contar más públicamente aún porqué fue. Estos dos datos me los guardo para los que nos han conocido más de cerca durante ese período que estuvimos en Posadas.

Y además, va a ser un buen material luego para el libro: "Los secretos de Argentina en Python que nunca conociste".

Manuel Kaufmann (Humitos): Tenerlo todo y no tener nada

Tenerlo todo y no tener nada. ¿En qué se diferencian? ¿Qué es tenerlo todo para algunos? y ¿Qué es no tener nada para esos mismos? Incluso, "Tenerlo todo y no tener nada", ¿cómo se interpreta?

En estos días de estar viviendo en el corazón del Mercado Campesino de Sucre, un lugar completamente tomado por la población (desconozco la historia) dónde los miles de carritos de comida y de puestos de verduras están desparramados sobre la calle, que disminuye notablemente la circulación, y la gente trabaja en condiciones muy precarias... He estado pensando bastante en lo que estoy haciendo y las necesidades que tenemos.

Ya he pasado algunos momentos preguntándome lo mismo, e incluso he escrito al respecto. Hoy me encuentro alquilando un departamento por Bs 200 / 9 días = Bs. 22.22 por día. Lo que da un aproximado de USD 3.22 por día. El departamento no tiene nada de nada, vino completamente vacío: sin camas, cocina, heladera, etc. Por suerte, el primer día el señor que nos alquila (que tiene una despensa en la planta baja) nos prestó un colchón, una mesa de camping y dos silla. Esto, sumado al anafe eléctrico que tenemos y nuestro equipo básico de cocina y alojamiento en camping, es lo que nos ha permitido alquilar este departamento de forma económica y mantenernos de más cómodos durante estos últimos 6 días aquí en Sucre.

IMG_20150724_093912.thumbnail.jpg

Desayunando en el departamento

En estos días he estado pensando muchísimo en ¿Cómo mejorar el alcance y proyección de Argentina en Python?, sus problemas, posibilidades laborales para apoyarlo, y un sin fin de cuestiones personales. Leyendo muchos artículos de gente que hace trabajos hermosos para la comunidad y que están cambiando el mundo, aunque quizás no lo sepan o muchos no se hayan enterado todavía. Esa gente está acá, no viene de otro planeta ni tampoco está en países que vemos lejísimos. Puede ser que sea tu amigo más cercano, o alguien con quien chateás todos los días en el canal de #pyar. Incluso, ¡podés ser vos!, sí, vos, el que está leyendo este artículo. Toda esta información ha ido haciendo sus huecos dentro de mi cabeza y me han surgido ideas para nuevos proyectos, artículos del blog, dibujos, videos e incluso hasta un pequeño cortometraje.

De nuevo, en estos días, con nada para muchos y todo para algunos muy poquitos, he crecido en diferentes direcciones, he pensado mucho sobre la situación que el pueblo de Potosí está viviendo, he leído muchos diaros locales, hemos salido a buscar trabajo y hemos entendido muchas cosas sobre un pueblo desconocido para nosotros. Su forma de ser, sus necesidades básicas (que distan muchísimo de las que nosotros consideramos básicas en Argentina) y todo esto me ha hecho replantear nuevamente aquello que escribí: ¿Qué necesitamos para vivir?

Aquí, en un cuarto de 6x3 metros con baño compartido he sido creativo, me he alimentado mejor que en muchos otros lugares, he llorado, he reído y me he sentido más cómodo que en otros lugares donde lo tengo todo. Ese todo que también implica tener miles de distracciones y al final quedarse encerrado en la nada misma. Hay que saber manejarlas para no caer en ello...

Cada tanto, tenemos WiFi gracias a una red pública que aparece en determinados horarios (sobre todo a la mañana temprano y luego a la noche). En esos momentos aprovechamos para actualizarnos y estar en contacto con la comunidad de Python Argentina. Leemos el diario, las noticias que llegan por Twitter, el mail e intentamos bajar todo lo más que se pueda para luego leerlo sin conexión.

IMG_20150724_093752.thumbnail.jpg

Momentos de actualización

Así, con todo durante algunos días y nada durante semanas he venido viviendo los últimos 2 años de mi vida. Esto me ha permitido concentrarme en las cosas que necesito en el momento en el que las necesito, me ha enseñado a manejar esas distracciones y a aprovechar los momentos en los que tengo todo para hacer cosas específicas y disfrutar de mí mismo o de hacer nada: mirar una película estúpida. Sí, al vivir tantas emociones diferentes todos los días, a veces me pasa que necesito hace nada o algo que sea completamente estúpido para que la mente se relaje. Es ahí entonces, en esos momentos donde lo tengo todo (un televisor led de 52'') cuando me miro la comedia más estúpida que tenga en mi disco, me relajo y pongo mi mente en 0 para volver a empezar al día siguiente con las ideas más delirantes que hayas escuchando alguna vez:

Mamá, ¡me voy de viaje por el mundo a compartir el conocimiento que Python Argentina me ha dado en los últimos años!"

Manuel Kaufmann (Humitos): Discriminados en Bolivia

Debido al paro cívico que se está viviendo en Potosí desde hace más de 20 días, el enfrentamiento con la policía en la ciudad de La Paz y los bloqueos en todas las rutas que conectan a Potosí con el resto de Bolivia, nos hemos tenido que quedar más tiempo del esperado en Sucre y no hemos podido organizar nada de lo que teníamos planeado para hacer aquí en Bolivia.

Para aprovechar el tiempo que sabíamos que íbamos a estar varados aquí, esperando alguna solución, estuvimos buscando alojamiento y trabajo (por parte de Johanna) y así empezar a recuperar un poco de su inversión para poder continuar viaje.

En otras oportunidades, en San Bernardino, Paraguay, hemos estado mirando los diarios digitales y viendo si había posibilidades de "cuidar casas". De esa forma, estaríamos resolviendo el tema del hospedaje y además colaborando con gente que requiera algún trabajo de mantenimiento en su vivienda.

Para nuestra fortuna, aquí en Sucre encontramos este aviso en los clasificados:

IMG_20150714_144623.thumbnail.jpg

Clasificado del 14 de Julio

Fuimos diréctamente al lugar sin llamar previamente. Una vez allí nos dicen desde un primer piso inmediatamente luego de vernos, medio gritando: "Ya hemos tomado". Le decimos si por favor puede bajar ya que había un cartel por habitaciones también. Baja, nos muestra las habitaciones, nos da mil vueltas con el tema del trabajo (ese "Ya hemos tomado"), nos aumenta zarpadamente el precio por ser 2 para la habitación y el ambiente de conversación ya no era para nada agradable.

OK, nos fuimos medio sospechando de que algo andaba mal ya que Johanna había ido a muchísimos otros trabajos con anterioridad y siempre le decían lo mismo: "Ya hemos tomado". Lo cuál, ya nos hacía dudar mucho.

Por la noche, llamamos al otro número que había en el cartel que estaba pegado en la puerta de esa casa que había que cuidar: ¿Cómo? ¿No era que ya habían tomado? Entonces, ¿para qué sigue estando el cartel ahí? Al llamar, nos atiende un señor y nos dice que el puesto estaba libre y que vayamos al otro día a las 10 de la mañana. "¿Eh? ¿Posta? ¿Te dijo eso? ¿No era que ya habían tomado?" -le decía yo a Johanna.

Bueno, sospechábamos que la señora que nos atendió no era la dueña y que por alguna razón no quería que nosotros tomemos el laburo. Pensamos por un momento que quizás ella estaba a prueba y que si alguien más se presentaba ella podía perder el trabajo. En fin, dejamos de pensar tanto y fuimos a ver qué nos decía el señor.

Al llegar a la hora, nos atiende la misma señora y según Johanna nos reconoce (yo ni me acordaba como era la cara) y nos dice: "Ya hemos tomado hoy de mañana temprano". Eran las 10hs y nosotros teníamos pactada una entrevista con el señor, que suponíamos que era el dueño del lugar, y el que buscaba el personal. Le decimos que por favor llame al señor ya que queríamos preguntarle otras cosas.

Pasamos más de 10 minutos esperando sentados en la puerta y el señor no aparecía. Decidimos llamarlo por teléfono y resulta que la señora no le había dicho nada al final. El tipo estaba ahí adentro de la vivienda: nos dijo que salía en un ratito.

Pasan unos 3 a 5 minutos y aparece el señor con el que habíamos hablado para la entrevista, lo saludamos y al empezar a hablar inmediatamente nos dice: "¿De dónde son ustedes?" y luego "Ya hemos tomado". Insitimos un poco sobre porqué sigue apareciendo el anuncio en el diario y nos dice: "El anuncio no va a volver a aparecer"

Una semana más tarde, charán: el anuncio renovado :)

IMG_20150726_113510.thumbnail.jpg

Anuncio en clasificados "Correo del Sur" del 26 de Julio

Esto es solo un ejemplo de las situaciones que hemos vivido aquí en Sucre cada vez que hemos ido a preguntar por trabajo u alojamiento. Nos dan un montón de vueltas hasta que nos terminan diciendo que no nos van a aceptar por ser extranjeros o bien nos siguen mintiendo hasta el último momento.

Con el pasar de los días encontré este logo en muchísimos productos bolivianos y me hizo pensar: "Esto explica muchas situaciones de discriminación vividas en los últimos días"

IMG_20150725_174309.thumbnail.jpg

Sopa de Maní con el lema: "Consume lo nuestro. Emplea a los nuestros"

Sinceramente hemos tenido hermosas experiencias con la gente que hemos conocido en Bolivia a través de CouchSurfing y por otros medios. Sin embargo, la gente que ofrece laburo y/o alojamiento no nos ha tratado para nada bien.