Novedades: actualmente estoy impulsando el proyecto Argentina en Python, desde aquí (ver mapa)

Diversidad, inclusión y todo eso

Atención, este artículo puede ser difícil de leer y fácil de juzgar. Sin embargo, me gustaría desahogarme y que podamos hablar de "lo prohibido" para que entre todos podamos construir una sociedad/comunidad mejor, sin prejuicios y en el que todos podamos hablar libremente sin ofender a los demás: entendiendo a todas las partes involucradas.

Como muchos sabrán, hace tiempo que venimos trabajando en "todo esto de la diversidad e inclusión" en el mundo de la programación. Sin embargo, yo, quien fue uno de los que empezó a impulsar esta idea entre mis conocidos (incluso antes de que Django Girls existiese) tengo un montón de dudas y problemas con este tema que es tan sensible.

Sí, dudas y problemas.

Luego de la PyConBr 13 hablé bastante con @turicas, a quien considero una persona sumamente abierta con la que se puede hablar sin problemas de los temas que nos molestan y de los problemas que tenemos. Él, luego de su charla en la que mencionó "Género y Número", me ayudó muchísimo a reflexionar sobre todo esto y a tratar de comprender un poco más la situación.

Es por eso que hoy me gustaría escribir todo lo que me quedó dando vueltas en la cabeza.

Me gustaría remontarme un poco a mi infancia, al lugar en el que fui criado y que me ayuden a entender un poquito porqué yo, entre tantas otras personas que queremos cambiar este mundo, tenemos estos problemas.

Nací en un barrio "normal" de Paraná, Entre Ríos, Argentina a una cuadra del río Paraná y rodeado por el mismo. El barrio tenía una única salida hacia "el centro" y había que caminar 5 cuadras para llegar a "la civilización" donde pasaban los buses, taxis y cualquier medio de transporte. En fin, yo pagaba $5 (en ese entonces ~USD 5) de taxi para llegar a ese lugar en vez de ir a pie por el miedo que tenía a que algo me ocurriese en el camino. El barrio, estaba "bien" en mi cuadra, pero esas otras 5 eran muy desoladas y rodeadas de "villas".

Seguir leyendo…


Navegar en internet en aeropuertos

Una de las mejores cosas de saber cómo funcionan las cosas es que "a veces" podés utilizar ese conocimiento para tomar atajos.

Hoy tengo un ejemplo concreto de esto. En mi viaje por sudamérica creé un proyecto llamado PyFi Spot que básicamente es un portal cautivo escrito en Python que ejecuta comandos de iptables para permitir o denegar el acceso a internet de las personas que se conecta a una red abierta.

¿No les suena familiar? Esos bares, restaurantes o aeropuertos que te dicen que tenés 30 minutos gratis para navergar y luego se termina. OK, algunos aeropuertos te permiten pagar (nunca entedí dónde se compra ese usuario/contraseña que te pide al web) y podés seguir navegando durante el tiempo que has pagado. Pero hay otros, que ni siquiera tienen esa opción y entonces en una espera de 5 horas (como la mia de hoy) solo tenés 30 minutos y te querés matar.

Acá entran en juego macchanger y NetworkManager.

"Mmm... macchanger, eso me suena a algo", estarás pensando. Sí, la posta de este tipo de servicios es que bloquean a los dispositivos (teléfonos, laptops, etc) por el número de MAC de la placa de red de ese dispositivo que es único en el mundo. Entonces, esta es la forma que los portales tienen de saber quiénes están accediendo a su red y filtran el acceso a internet por ese número (que va incrustado en los paquetes de red).

Claro, ¿porqué sé esto? Porque me hice un programa que hace exactamente eso y le dediqué un par de semanas a estudiar como funcionaban estos bichos.

¿Entonces? ¿Cuál es la solución? Y claro, cada 29 minutos cambiar la MAC de tu placa de red y volverte a conectar utilizando la nueva MAC. El portal cautivo cree que sos una persona totalmente nueva y... ¡ADELANTE!

¿Cómo hago para cambiar la MAC? Utilicé Network Manager que hace todo esto sea muy fácil:

  • Click derecho en el ícono del systray
  • "Editar las conexiones..."
  • Elegís la conexión que tiene el nombre de la red del aeropuerto
  • Vas a la pestaña "Inalámbrica"
  • Y donde dice "Dirección MAC clonada", le ponés "Aleatorio"
  • Guardás todo, cerrás, volvés a conectar y listo!

Cookies en juego

Te recomiendo iniciar la sesión en el portal cautivo utilizando una pestaña privada, para así evitar que se guarden las cookies en tu máquina y que luego el sistema nos reconozca como que hemos vencido nuestro tiempo.

Si ya "la has cagao", borrando las cookies del navegador solucionás este problema.

Nota

A "macchanger" no lo usé al final, ya que si bien funcionó, al volverme a conectar a la red mediante "network manager" este me volvía a poner la MAC de mi placa de red original.


Embajador de Python de la Python Software Foundation

Lo que comenzó hace más de tres años como una locura, como un sueño de adolescente, como un viaje muy arriesgado, como un proyecto en el que nadie creía... Llegó a lo más lejos que alguna vez podría haber llegado e incluso cruzó esa frontera ficticia impuesta por nosotros mismos y fue más allá.

El pasado 19 de Diciembre de 2016 -casualmente el día de mi cumpleaños, la Python Software Foundation, me declaró Emabajador de Python en Latino América. Un título que me queda grande por donde lo mires. Sin embargo, luego de todo el esfuerto que hemos venido realizando durante los últimos años, esta noticia me pone muy contento y hace nuevamente que me vuelva a lenvantar de las cenizas. Si siguen la historia de este proyecto, sabrán que hemos tenido momentos muy feos y la hemos pasado muy mal. Así y todo, son estas cosas -y otras mucho más pequeñas también, las que nos hacen seguir adelante y nos demuestran que la gente cree, confía, apoya y valora nuestro esfuerzo.

RESOLVED, that the Python Software Foundation approve the Python Ambassador program for South America as outlined https://mail.python.org/mailman/private/psf-board/2016-November/041096.html

Este título que me han asignado me pone muy contento, pero más contento aún me hace sentir que "no soy yo solamente" sino que estamos abriendo la puerta dentro de la misma Python Software Foundation para que esto sea un rol nuevo dentro de la fundación y que haya más personas en el mundo que puedan ser Embajadores de Python en su región y así ayudar en que las comunidades que tienen cerca crezcan y desarrollen, además de colaborar y empujar la creación de las mismas.

A principios del 2016, la misma PSF, me declaró Emabajdor de Python "en prueba" por un período de 3 meses para probar, justamente, como sería la dinámica, el manejo del dinero, los objetivos del rol -que tenían que definirse, y luego de ese período junto con Nick Colghan y Ewa Jodlowska escribimos un reporte sobre esta experiencia, qué creíamos que significa ser Embajador de Python, cuáles las expectivas, los objetivos a cumplir, cómo debería ser el seguimiento, varias cosas relacionadas al manejo del dinero y demás. Fue una tarea bastante compleja y llevó varios meses, incluso una vez terminado ese período de prueba. ¡Ese esfuerzo valió la pena!

Ahora, durante todo el 2017 el loco que en PyCon Argentina 2013 dijo:

Yo, humitos, voy a recorrer toda la Argentina en mi auto y voy organizar un evento de Python en cada una de las ciudades que visite con la idea de descentralizar el conocimiento.

cuenta con un presupuesto pre-autorizado por la Python Software Foundation para desarrollar actividades de educación, inclusión, diversidad, empoderar las pequeñas comunidades, difundir, motivar a la gente a estudiar y desarrollarse en el mundo de la tecnología. Además, con la idea de dejar asentado el trabajo realizado durante todo este año y proponer la apertura oficial del rol Embajador de Python al resto del mundo.

Recordá que vos también podés cambiar el mundo de a poquito. Recordá que tu mínima colaboración en la comunidad puede cambiar el mundo. Recordá que aunque creas que tu aporte es mínimo, no lo es. Recordá que tu conocimiento es muy valioso y que podés transmitirlo a otros. Recordá que no estás solo y que has aprendido mucho de los demás. Valorá eso, y ayudá a devolverlo.

Hoy hiciste la traducción de un párrafo, que leyó un niño que en el futuro uso para escribir el software que nos llevó a otro planeta.

Gracias por leer.


10 años no es nada

Ayer tuve uno de mis primeros, "¿Pero esto no es lo mismo que nosotros hacíamos hace 10 años atrás?"

Cuando estaba en Perú, en uno de los peores hospedajes (¡y ciudades!) que he estado en mi "corta vida" estuve estudiando un poco de Docker porque ya lo había escuchado mucho y nunca me había puesto de verdad. Así que me hice el tiempo para dedicarle unas cuantas horas. Aprendí poco la verdad. Hice el tutorial y terminé con muchas dudas.

Hace 2 semanas lo empecé a mirar un poco más en profundidad ya que en el trabajo lo empezamos a usar y justamente tuvimos tiempo para experimentar y jugar un poco con casos reales. ¿Viste como es? Uno aprende mucho más rápido cuando trabaja sobre un problema real que cuando estudia porque sí.

El fin de semana estuve haciendo mi imagen de Docker para la configuración de mi emacs y quedó de lujo:

https://hub.docker.com/r/humitos/emacs-x11-alpine/

Durante los días del fin de semana le estaba contando a Johanna lo contento que estaba por haber hecho esto (ya que mi primera versión para compartir la config de emacs fue un script de bash tryit.sh que hacía mucha magia loca y fea). Lo primero que le pregunté era si conocía Docker, para ver desde dónde empezamos a hablar, y me dijo que había visto algo pero que lo tenía que estudiar mejor: "Es como meter pequeñas máquinas dentro de la tuya, ¿no?". Y, sí, generalizando es exactamente eso.

Entonces, cuando le empecé a explicar porqué estaría bueno que lo miremos juntos -tener todo instalado para que en los talleres sea súper fácil y compatible de configurar todos los sistemas tradicionales, me dije: "¿Pero esto no es lo mismo que nosotros hacíamos hace 10 años atrás con César y vserver?"

¡Pucha, me estoy poniendo viejo! -pensé

Luego de leer un poco, no mucho la verdad, encontré que la principal diferencia está en la implementación de "la cosa", digamos. Docker usa LXC que es una forma nativa por parte del Kernel de Linux de realizar la virtualización y vserver hace algo parecido pero en su propia modificación del Kernel.

Por lejos, creo que la mejor explicación que encontré viene de este post de reddit y mi conclusión es que le pusieron un lindo logo simpático y con una sonrisa.

Ah, y ¡mucho marketing!