Haggis Ruby 2024 - Edimburgo, Escocia

Publicado el Viernes, 25 de octubre de 2024

Una década después de la última Scottish Ruby Conference, volvieron las conferencias Ruby a Escocia. El 24 de Octubre de 2024 tuve el gusto de asistir a Haggis Ruby, una conferencia de un día con un sólo track de charlas. Se realizó en el centro de la ciudad en The Royal Society of Edinburgh. A continuación dejo algunas impresiones basadas en las notas que saqué durante la conferencia.

Haggis Ruby

El evento arrancó con James Bell de la organización dando la bienvenida. Comentó sobre el edificio, un lugar tradicional donde justo había una exhibición de mujeres en la ciencia que los asistentes podían disfrutar en los cortes entre las charlas.

La conferencia no ofrecía almuerzo, pero al encontrarse en el centro había lugares para comer en cualquier dirección y para todos los gustos y dietas. James comentó entre las posibilidades uno de los centros comerciales de la ciudad: St. James Quarter. Es un infame edificio que "adorna" el horizonte de la ciudad de Edimburgo que se ve exactamente así: 💩. Al menos sirve como referencia para dar direcciones, el edificio "poop emoji".

Algo interesante que promovía la conferencia durante los cortes era la "regla de Pac-Man". Cuando charlamos en un grupo, no cerremos el círculo. Dejemos un lugar abierto, de manera que el grupo visto desde arriba se vería como la forma de Pac-Man. Así dejamos lugar para cualquier persona que se quiera unir a la conversación. Y cuando una persona nueva se suma, asegurarnos de dejar otro lugar para darle la bienvenida a alguien más. Había visto esta regla en meetups antes, y me parece excelente para tener un ambiente más inclusivo y acogedor en los grupos sociales que se forman.

Durante la bienvenida James leyó algo de poesía del poeta escocés Robert Burns en Scots, de su "Address to a Haggis":

Auld Scotland wants nae skinking ware
That jaups in luggies;
But, if ye wish her gratefu’ prayer,
Gie her a Haggis!

El haggis es un animal autóctono de Escocia, un pequeño mamífero con la característica física de tener las patas de un costado más largas que del otro. Esto les permite subir y bajar las varias elevaciones de las Tierras Altas de Escocia (su hábitat natural). Existen dos variedades de haggis, una con las patas del lado izquierdo más largas, y otra con las patas del lado derecho más largas. Esto les permite subir y bajar elevaciones en direcciones contrarias. Lamentablemente el haggis también es una comida tradicional nacional, lo que ha llevado a una disminución importante de su población.

La charla para abrir la conferencia estuvo a cargo de Olly Headey, co-fundador de FreeAgent y ex 37Signals. El título de la charla era así como "deja de pensar demasiado y ponte a crear cosas". La charla estuvo enfocada en la creatividad y cómo esto hace bien. Todas las personas tienen creatividad, pero tienen que usarla, explotarla, hacer cosas raras que no le importe a nadie. La creatividad no es necesariamente "dibujar bien". Puede ser a la hora de programar, o cualquier cosa que hagamos por el simple hecho de hacerlo. Hace bien, y nos hace mejores en todo a nivel emocional.

Contó cómo algunas de sus ideas se volvieron productos, y en una de sus diapositivas apareció el logo de DragonRuby. Casualmente mis experimentos con DragonRuby son exactamente el tipo de "proyecto divertido que a nadie le importa" que me hicieron alimentar mi creatividad.

La segunda charla fue una de mis charlas favoritas. Estuvo a cargo de Rosa Gutiérrez, programadora principal en 37Signals. La charla se titulaba "Invalid byte sequence in UTF-8 😭". El error "Invalid byte sequence" lo hemos visto seguramente al menos una vez la mayoría de quienes programamos con Ruby. Rosa habló de Bugs Driven Development como una de las tantas formas de resolver problemas de programación. La charla explicó cómo las computadoras no entienden Strings, sólo bytes. Explicó en gran detalle el proceso de pasar texto a bytes, o encoding, y habló de la historia de distintos estándares (ASCII, ISO-8859-1, Windows-1252, Asia DBCS, UNICODE).

También habló del error y un error en particular en producción que la hizo investigar el tema. Ruby guarda los Strings como bytes y su encoding, sin el encoding no tienen sentido. Cuando vemos los caracteres todos rotos, es porque el encoding está mal. Fue una charla muy interesante y muy técnica, pero accesible.

Le siguió Ayush Newatia, parte del equipo de Bridgetown, un generador de sitios estático progresivo open source hecho en Ruby.  Bridgetown es un fork de Jekyll, forkeado en la versión 4.1 en Abril de 2020. La razón para el fork fue desarrollar una herramienta más moderna. Lo llaman "progresivo" porque permite agregar rutas dinámicas y componentes para crear un sitio moderno y superar las limitaciones de un sitio 100% estático. Es un framework completo de desarrollo web moderno, del tipo que no se entromete si simplemente quieres desarrollar un sitio web, pero también te da el poder de personalizar lo que necesites.

Además de un pantallazo de Bridgetown, Ayush comentó cómo cambió su carrera empezar a colaborar con un proyecto Open Source. Su consejo, trabajar en cosas open source "por egoísmo", contribuír con cosas que uno necesita.

Le siguieron dos charlas relámpago, un poco más cortas que las anteriores. La primera fue por Ceri Shaw, con una explicación de su rol como "Fractional CTO", un rol de CTO part-time y lo que implica. No era de particular interés para mí, pero tiene que haber un poco de todo en las conferencias para hacerlas variadas y diversas.

La segunda charla relámpago me hubiera gustado que fuera de más duración. Max Hatfull, desarrollador en FreeAgent y desarrollador de videojuegos, habló de su proyecto ruby_rpg. Se trata de un motor de videojuegos desarrollado en Ruby. Hizo una introducción al desarrollo de videojuegos y los distintos componentes de su motor. Mostró algunas capturas de lo que se podía hacer con ruby_rpg, y un framework de testing que usa, sacando capturas de lo que renderiza el motor. Habrá que seguirlo y ver cómo sigue este proyecto.

En este punto hubo un corte de 1 hora y 40 minutos para ir a almorzar.

A la vuelta, James volvió a dar la bienvenida a la conferencia e involucró a todos los asistentes en un juego masivo de piedra, papel o tijera. Teníamos que pararnos y jugar una partida contra la persona que tuviéramos más cerca. Los que perdíamos, nos volvíamos a sentar y quienes permanecían de pié debían encontrar otra persona contra quien jugar. Al quedar unos pocos, subieron al escenario para ir eliminando hasta que quedó un ganador que se llevó un premio. Una pequeña actividad divertida para animar la cosa y sacurdirse el sueño post comida.

La tarde arrancó con la charla de Sergy Sergyenko, CEO de Cybergizer quien entre otras cosas organizó Baltic Ruby, Euruko en Vilnius, Lituania. Me gustó la parte de su charla que habló de estas conferencias y el tema de la comunidad. Pero su charla principal fue "Ruby + IA Ruby para construir arquitecturas multi-agente". Soy bastante contra de todo lo que tenga que ver con IA éstos días, pero en casos como éstos me interesa escuchar para aprender del tema, sobretodo relacionado a Ruby. Pero se sintió como que necesitaba un montón de contexto que no tenía para entender del todo de qué iba la charla, y no estaba tan orientada a Ruby, hasta el final donde mencionó llama_cpp. Pero me sigo quedando con la impresión de que todo falla todo el tiempo cuando se trata de IA y la pregunta de cómo se debuguea o testea algo no determinístico.

Lo siguió Melinda Seckington, Coach y entrenadora de Ingeniería en Learn Build Share y Fundadora de Tech Ladies Dinner Roundtable (TLDR). Fue otra charla muy interesante, acerca de Resiliencia. Me gusta cuando normalizamos decir "No estoy bien" ya sea cuando alguien cercano nos pregunta, o cuando hay que admitirlo para sí mismo. La resilencia es una habilidad que hay que desarrollar. También habló de la agilidad emocional, los mitos de la resilencia y más. Me interesó en particular cuando mencionó a la hora de estar mal con algo (ejemplo el trabajo), hay que reconocer la emoción y particularmente reconocer el motivo de esa emoción. Si me enojo, ¿por qué es? Y así responder acorde.

En mis apuntes escribí "Victor Frankl - Man's search for meaning". No recuerdo exactamente en qué lo citó Melinda, pero recordé que ya me había anotado ese título en particular. En la novela Aurora de David Keopp que leí hace poco ya había anotado una cita que dice algo así como: "Victor Frankl dice que sólo hay tres significados que importan. Hacer trabajo que te importa a tí, cuidar a (o que te importen) otros, y aceptar el desafía de tiempos difíciles. Trabajo, amor, coraje. Eso es todo. Cualquier otra búsqueda humana es mentira". De repente tendría que buscar más sobre este autor...

La siguiente charla volvió a lo técnico con Mike McQuaid, Project Leader de Homebrew y CTO y co-fundador de Workbrew. La charla - Ruby on (Guard) Rails ("¿Ruby en barandas de protección?") estuvo muy buena, creo que fue de las que sacó más risas del público. Bajo la premisa de que Ruby es genial para moverse rápido y para romper cosas, habló de varias herramientas y recomendaciones para programar Ruby. Me gustó algo que mencionó de "pedantería robótica, empatía humana" aplicado a la programación. En una revisión de código es mejor que un proceso automatizado te diga "te faltó un punto y coma en esta línea" o "te sobró un espacio" a que lo diga un humano. Por eso comparto su aprecio por Rubocop, yo también estoy en el lado de los que apreciamos a Rubocop.

La charla está escrita en su blog personal en Ruby on (Guard) Rails, lo que me parece excelente para repasar la charla. Literalmente, lo que dice en el blog es lo que dió en la charla.

El keynote de cierre estuvo a cargo de Emma Barnes, CEO de consonnance.app y MD de snowbooks.com  y makeourbook.com. La charla estuvo muy buena como para cerrar la conferencia. Una charla inspiradora a través de historias desde su experiencia personal. Emma fue arqueóloga trabajando en el Norte de Gales y conectó su experiencia con la programación con Rails.

Uno de los temas en común que mencionó más de una de las personas que dieron charlas fue el hecho de que "Twitter está muerto". Ya no es tan común compartir "el perfil de Twitter" y se va volviendo más popular "el perfil de Mastodon". En lo personal hace mucho que abandoné el antro pro fascismo que es Twitter y estoy bastante conforme con el uso de Mastodon. Así que me alegró ver esta tendencia.

En resumen, se pasó volando, lo que me dice que pasé bien. Fue como mi regreso a las conferencias desde antes del 2020, así que espero volver al ritmo que tenía antes de ir a conferencias Ruby. Además de las charlas, tuve ese valor agregado de conocer gente y charlar con gente muy interesante, que es de los mayores valores de asistir a estos eventos.

Ruby es el lenguaje diseñado para la felicidad de quienes lo usamos. Y esa filosofía de que "Matz es bueno así que somos buenos" se refleja en la gente de la comunidad donde generalmente, son gente buena. (Aunque no sé si "buena" sea la mejor traducción para "Nice" del inglés, no sé si expresa exactamente la idea). Por más que hoy Ruby no sea más "cool" como lenguaje, está en un momento muy bueno de su evolución y están pasando muchas cosas interesantes.

Espero poder escribir sobre Haggis Ruby 2025 el año que viene...

No hay comentarios en este post

Feed de comentarios

Dejar un comentario

Toasty!