Día del Sistema Solar

Hoy se cumplen 85 años del nacimiento de Carl Sagan.

Mi propuesta es declarar el 9 de Noviembre como Día del Sistema Solar, en su honor.

¿Por qué? Básicamente por todo lo que hizo para que conozcamos donde vivimos, entendamos de donde venimos, y descubramos a donde podemos ir.

Acompañémoslo

Sus aportes a la ciencia fueron variados, pero fueron reconocidos especialmente aquellos relacionados con la astronomía y la astrofísica. Las contribuciones de Sagan fueron vitales para el descubrimiento de las altas temperaturas superficiales del planeta Venus, como ser uno de los primeros en plantear la hipótesis de que una de las lunas de Saturno, Titán, podría albergar océanos de compuestos líquidos en su superficie, y que una de las lunas de Júpiter, Europa, podría tener océanos de agua subterráneos.

Carl Sagan ganó gran popularidad gracias a la fantástica serie documental de 1980 Cosmos: Un viaje personal, de la que fue narrador y coautor. También publicó numerosos artículos científicos, y fue autor, coautor o editor de más de una veintena de libros de divulgación científica, siendo los más populares sus libros Cosmos (publicado como complemento de la serie), y Contacto, en el que se basa la película homónima de 1997. En 1978 ganó el Premio Pulitzer de Literatura General de No Ficción por su libro Los dragones del Edén.

Pueden leer más sobre Cosmos en este viejo post mío. Les recomiendo efusivamente que miren (¡junto a sus niñes!) esta gran serie.

Comentarios Imprimir

Creatividad

Este post no es sobre la charla que dí con Hernán Mavrommatis en el GDG DevFest '19 en la Universidad Nacional de La Matanza

Y no les voy a hablar de esa charla porque solamente fue una forma de probar aguas, de acomodar algunas dinámicas. Estamos armando algo más grande, ya tendremos novedades.

Con Hernán, antes de romperla en la charla

No, esta charla es acerca de un video sobre creatividad que les quiero compartir.

En verdad este video me lo pasaron hace mucho mucho tiempo. Recuerdo que me costó el inglés, entender el hilo de algunos conceptos, armar algunas frases. Es que John Cleese (el disertante... sí, el de los Monty Python), aunque tiene una dicción y tonada sobresalientes, habla muy rápido y utiliza bastantes palabras de uso poco común.

Entonces lo dejé para más adelante. Y me terminé olvidando del mismo... hasta hace un par de años. Lo busqué, lo encontré, y eventualmente lo escuché entero.

Cuantos recuerdos, recorrer esos espacios

Aunque me siguieron costando algunas partes, el video en sí, me encantó, me fascinó. Y me sigue fascinando incluso hoy (que ya leí/escuché el texto más de veinte veces).

Para terminar de entender todo y que otres tengan menos dificultad con el mismo, me decidí a subtitularlo. Busqué y encontré por ahí una transcripción de la charla, que tomé de base aunque le corregí un montón de errores pequeños (y otros no tan pequeños).

Luego separé el texto en oraciones, y cada oración en bloques de subtítulos, con una o dos lineas de hasta más o menos cuarenta columnas. Obvio que hubo mucho laburo a mano, pero también le eché algo de Python encima :).

Para terminar de adaptarlo al video en sí usé subtitleeditor. En general me sirvió mucho, pero fue indispensable el truco de definir tiempos comienzo y final del bloque pulsando y soltando una tecla (que tuve que configurar). eso para una primera pasada, claro, luego hubieron más de ajuste.

Y también lo traduje al castellano. Esta parte fue más complicada por la traducción en sí, pero más simple porque los "tiempos" ya estaban. Así y todo se me complicó dos o tres veces en lograr una frase en castellano que exprese lo mismo que en inglés, y que no quede demasiado texto para el subtítulo.

Este es el resultado final, les presento entonces a Creatividad en la Gestión, por John Cleese:

Es la primera vez que hago algo como esto, espero que lo disfruten.

Comentarios Imprimir

PyCon Argentina 2019, a todo ritmo

Venimos pisteando como campeones para la PyCon Argentina del 4 al 6 de Diciembre, en el Centro Cultural General San Martín, CABA.

Miren que lindo sitio.

Ya están abiertas las inscripciones, recuerden que el evento es libre y gratuito, así que todo lo que tienen que hacer para venir es anotarse es llenar el formulario de registración.

PyCon Argentina 2019

Aunque le falta cargar algunas cosas (todavía nos falta algo de data) ya tenemos la agenda del evento, pasen y vean, que lindas tolderías.

¡Y ya tenemos les keynotes! En esta edición son de Argentina (pero con nivel internacional, no se crean)...

  • Sheila Berta: es una especialista en seguridad informática que comenzó a los 12 años de forma autodidacta. Asimismo, es desarrolladora en ASM, C/C++, Python y Golang. Ha encontrado vulnerabilidades en importantes aplicaciones y brindado charlas sobre sus investigaciones en conferencias internacionales. Actualmente trabaja como Head of Research en Dreamlab Technlogies.
  • Martin Sarsale: es el fundador y CTO de Properati, un sitio del mundo inmobiliario en LATAM recientemente adquirido por OLX Group. Le interesan los problemas raros, el software libre, los datos abiertos, las plantas y la comida.

También ya están a la venta las remeras del evento, aprovechen y compren; tengan en cuenta que es la preventa y están al costo, luego del 8/11 entran en el precio normal.

Finalmente, estamos a algunos días del cierre de ofertas para ver dónde se hará el año que viene...

Y como bonus track les dejo una entrevista (en inglés) que me hicieron para un podcast de Python: Cultivating The Python Community In Argentina (Cultivando la comunidad Python en Argentina).

Comentarios Imprimir

Solucionando el problema de las preguntas en conferencias

En general, dentro del tiempo estipulado para las charlas por la organización de una conferencia se incluye unos minutos de preguntas y respuestas.

Esos minutos pueden ser más o menos, pero en general están ahí, excepto quizás para charlas ultracortas, como las Lightning Talks. Pero en una charla de 25 o 40 minutos, siempre habrán entre 3 y 10 minutos para que la gente pueda hacerle preguntas a les charlistas.

Entonces, cuando termina la charla, les charlistas agradecen, se avisa que arranca el espacio de preguntas y respuestas, y ahí aparece un momento de incertidumbre donde se espera a ver si en efecto hay alguna pregunta! La gente arranca (o no), y luego se utiliza todo el tiempo (o no), y termina el ciclo.

Más allá de sus ventajas obvias, que hacen que siempre haya de estos espacios en casi todas las charlas de casi todas las conferencias, esta dinámica tiene algunos problemas bien conocidos.

Entre ellos:

  • Romper barreras: no es fácil animarse a hacer preguntas en una conferencia, por múltiples razones. Podemos pensar que la pregunta es muy tonta, o que ya estuvo contestada pero no la entendimos. Quizás no querramos exponernos porque pertenecemos a alguna minoría y no sabemos si es un ambiente "seguro" (ver diversidad). Quizás nos dé vergüenza hablar en el idioma de les charlistas porque no lo manejamos del todo bien. Quizás tengamos directamente alguna dificultad en el habla.
  • Preguntas, no disertaciones: es bastante molesto (para les charlistas y para el público en general) cuando el que va a hacer una pregunta NO hace una pregunta, sino que se pone a exponer opiniones, dar sus puntos de vista, contestar otras preguntas anteriores, y en general toda disertación que no sea, efectivamente, una pregunta para las personas que acaban de dar la presentación.
  • No se escucha: la mayoría de las veces cuesta que todo el público escuche bien la pregunta que se está haciendo, especialmente si el ambiente es grande, o la persona habla en voz baja. A veces hay un micrófono que se puede acercar a la persona que hace la pregunta, pero tiene que haber alguien corriendo de un lado para el otro; a veces hay algún micrófono central al que nos podemos acercar para hacer la pregunta, pero eso incrementa la barrera que hablaba antes. Y si la charla se está filmando, y la pregunta no se hace por micrófono, directamente se pierde.

¿Cómo solucionamos esto? A mí se me ocurrió algo: el cuabot.

Un bot de preguntas y respuestas

El cuabot es un botcito de Telegram que se activa durante la conferencia y permite solucionar (al menos en parte) algunos de estos problemas.

La dinámica es la siguiente...

  • cualquier persona puede hablar con el bot, en cualquier momento, tiene sólo comandos para mandar preguntas
  • al conectarse por primera vez informa esos comandos, y hay uno por sala de la conferencia (ej: /salaA, /sala8, /plenaria); esto está obviamente configurado distinto por conferencia
  • entonces asistimos a una conferencia, vamos a una charla, y si queremos hacer una pregunta en cualquier momento, ejecutamos el comando que corresponda del bot según la sala en que estemos
  • el bot va a replicar esta pregunta en un grupo privado donde está el responsable de la sala y un par más (no todo el mundo)
  • cuando termina la charla propiamente dicha, el responsable de la sala va a tener N preguntas YA hechas (aunque la gente puede escribir también en ese momento), elige cual(es) preguntas valen la pena o entran en el tiempo, y las comunica

Esto soluciona los problemas antedichos:

  • Romper barreras: es mucho más fácil animarse a escribir algo que decirlo en voz alta en un salón lleno de gente, especialmente si es en un idioma en el que no estamos muy habituados.
  • Preguntas, no disertaciones: el responsable de la sala puede ignorar tranquilamente algo que NO sea una pregunta, aunque también puede decidir qué es lo mejor para el cierre de la charla (elegir las mejores 3 preguntas de muchas, si hay poco tiempo, o si casi no hay preguntas pero hay un par de comentarios, también puede leer eso para llenar el tiempo); de cualquier manera el poder lo tiene el responsable de la sala, en vista de todo lo que haya mandado el público
  • No se escucha: el responsable de la sala puede hablar directamente en uno de los micrófonos habilitados, al que no hace falta llevarlo a las corridas por toda la sala.

Obviamente trae algunos detalles a la conversación: la gente tiene que tener un dispositivo en la mano para poder mandar el mensaje (algo que sucede con altísima frecuencia), este dispositivo tiene que estar conectado a internet (lo cual es una buena suposición), y la persona tiene que tener Telegram instalado/configurado (que es bastante normal para personas técnicas).

De cualquier manera, como último recurso siempre se puede hacer la pregunta de la forma clásica (moviendo aire con nuestros pulmones y modulando ese flujo de aire con nuestras cuerdas vocales).

Comentarios Imprimir

Matemática: de las gaseosas a Python

El sábado hago un asado por el cumple de Felu, así que estamos comprando vituallas. Entre ellas, gaseosas; Moni las compró ayer a la noche, y como era tarde quedaron en el living.

Esta mañana, las fui llevando de a 3 (fácil de agarrarlas) hasta la cocina, no me sobró ninguna botella (o sea, la cantidad era múltiplo de 3). A la tarde las llevé al quincho, pero las agarré de a 4 (más lío, pero valía la pena porque el "viaje" es más largo): me sobró una botella (o sea, hice un último viaje con una botella sola).

Me quedé pensando: ¿cómo calcularía uno qué numero de botellas moví? Debería ser una de las soluciones a algo como (si x es la cantidad de botellas) x % 3 = 0 y x % 4 = 1.

Lo tiré en twitter.

Roberto al toque propuso algunas cosas, pero aunque quedaba como un paso más cerca de la resolución, yo no terminaba de entender como dar el paso final.

Interesante, porque al menos hasta este yo ya me estaba dando cuenta de que ese problema que me parecía difícil de generalizar en verdad lo era (más allá de mis limitaciones matemáticas), escuché por primera vez ecuaciones diofánticas, e incluso me di cuenta que estaba rozando el 10° problema de Hilbert.

El décimo problema de Hilbert, NO de Dilbert!

Luciano entró en el juego, y luego de un poco de charla alrededor del problema, y vislumbró por donde podía venir la mano.

Efectivamente, terminó confirmando que el problema se podía resolver mediante el teorema chino del resto, e incluso pasó un video que lo explica (en inglés), que me marqué para ver en algún momento.

Y no sólo es, también mostró cómo resolverlo en Python! Miren:

$ fades -d sympy
Python 3.6.8 (default, Jan 14 2019, 11:02:34)
...
>>> from sympy.ntheory.modular import crt
>>> x, N = crt([3,4], [0,1])   # 3 y 4 son los divisores, 0 y 1 los restos correspondientes
>>> [x + i * N for i in range(10)]
[9, 21, 33, 45, 57, 69, 81, 93, 105, 117]

En mi caso, había movido 21 botellas. Un espectáculo.

Comentarios Imprimir