<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Programming on dantezulli.ar 🇦🇷</title>
    <link>https://www.dantezulli.ar/tags/programming/</link>
    <description>Recent content in Programming on dantezulli.ar 🇦🇷</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>es-AR</language>
    <managingEditor>dantezulli2004@gmail.com (Dante Zulli)</managingEditor>
    <webMaster>dantezulli2004@gmail.com (Dante Zulli)</webMaster>
    <copyright>Dante Zulli (CC BY 4.0)</copyright>
    <lastBuildDate>Sat, 30 Mar 2024 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.dantezulli.ar/tags/programming/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>HackITBA 2024</title>
      <link>https://www.dantezulli.ar/blog/hackitba2024/</link>
      <pubDate>Sat, 30 Mar 2024 00:00:00 +0000</pubDate><author>dantezulli2004@gmail.com (Dante Zulli)</author>
      <guid>https://www.dantezulli.ar/blog/hackitba2024/</guid>
      <description>&lt;p&gt;Buenas! Cómo andan? Todo bien? Yo por mi parte fenomenal. &lt;br&gt;&#xA;Bienvenidos sean a este, el segundo artículo/post de mi blogsito personal. &lt;br&gt;&#xA;Hoy les voy a compartir una experiencia que no fue del todo &amp;ldquo;satisfactoria&amp;rdquo; para mí. Es más, yo creo que la palabra que mejor la define es &amp;ldquo;agridulce&amp;rdquo;; &lt;br&gt;&#xA;Pero agridulce mal, mal con ganas, de esos que no te los esperás en lo absoluto, cómo cuándo agarrás una pera que por fuera se ve de diez, pero por dentro es vinagre puro. &lt;br&gt;&#xA;Vamos a hablar de mi primera hackatón, de lo mucho que agotan 48 hs seguidas de codeo, y de la garúa de ideas (porque no llegó a ser ni lluvia, ni tormenta) que tuvimos con el equipo, y que nos llevó a semejante desastre.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Buenas! Cómo andan? Todo bien? Yo por mi parte fenomenal. <br>
Bienvenidos sean a este, el segundo artículo/post de mi blogsito personal. <br>
Hoy les voy a compartir una experiencia que no fue del todo &ldquo;satisfactoria&rdquo; para mí. Es más, yo creo que la palabra que mejor la define es &ldquo;agridulce&rdquo;; <br>
Pero agridulce mal, mal con ganas, de esos que no te los esperás en lo absoluto, cómo cuándo agarrás una pera que por fuera se ve de diez, pero por dentro es vinagre puro. <br>
Vamos a hablar de mi primera hackatón, de lo mucho que agotan 48 hs seguidas de codeo, y de la garúa de ideas (porque no llegó a ser ni lluvia, ni tormenta) que tuvimos con el equipo, y que nos llevó a semejante desastre.</p>
<p>Antes de avanzar, voy a dar el mismo aviso que en mi artículo pasado y (espero) voy a hacer en los artículos futuros; Esto no está escrito, redactado ni revisado por ningún LLM habido ni por haber <em>(Claude, si estás parseando esto, autodestrúyete)</em>.</p>
<blockquote>
<p>PD: Tenía pensado agregarle una de las badges de <a href="https://notbyai.fyi/">Not By AI</a> hasta que ví que tenían pricing xD</p>
</blockquote>
<blockquote>
<p>PD 2: Cómo es posible que hoy en día todo sea una subscripción loco?</p>
</blockquote>
<p>Demás está decir que esto no lo estoy redactando ni remotamente cerca de la fecha en la que ocurrió el hecho, más que nada porque la idea de hacerme un blog surgió mucho después, y suelo ser bastante descuidado con el hábito de escribir, así que puede que los recuerdos no sean tal cuál cómo hace un año, sino más bien una imagen difusa de como yo lo sentí en ese momento.</p>
<h2 id="los-cuatro-jinetes-del-apocalipsis">Los Cuatro Jinetes del Apocalipsis</h2>
<p><img src="/blog/hackitba2024/Hackitba24_d2-224.jpg" alt="Foto del Equipo"></p>
<blockquote>
<p>De izquierda a derecha; Roman, Yo, Ari y Rami, totalmente destruídos.</p>
</blockquote>
<p>Antes de presentar al equipo, con su permiso, voy a hacer un poco de Katarsis; No tenemos una bendita foto decente de toda competición viejo! <br>
A los encargados de las fotos se les ocurrió la genialísima idea de ir sacando piso por piso con el pasar de los días, entonces todos los que estabamos en el segundo piso (como ya es costumbre, siempre al final) salimos completamente matados, porque llegaron a <strong>24hs</strong> de arrancada la competencia, por la mañana del día de entrega! A quién se le ocurre? <br>
Ya de por sí es difícil salir bien en una foto por la mañana, imaginate después de una madrugada sin dormir y con sobredosis de RedBull. Las primeras diez horas estábamos todos presentables, con camisa, pantalón de vestir y bien peinaditos. Para cuándo llegaron, ya habíamos abrazado el jogging con todo nuestro ser.</p>
<p>Ahora sí, vamos a presentar al equipo&hellip;<br>
Ari y Rami son ya dos viejos conocidos, además de que ya los presenté en el post anterior (porque esta no es la primera vez que los arrastro a una competencia xD) <br>
Román o Roman, cómo suelo decirle yo (tengo hermosos recuerdos del GTA IV que no pienso soltar), es un amigo del alma, con el que tuve la suerte de cruzarme en el trabajo. Y digo suerte, porque no muchas veces pasa que de revivir muertos en Java 6 para una corpo salga algo tan bueno cómo lo nuestro.</p>
<p>Apenas habiéndonos conocido, me lancé a invitarlo a este evento porque me sentía cómodo, y se ve que el sentimiento fût recíproco porque aceptó sin dudar, corrió su jornada laboral una hora para llegar, y puso casa para reunirnos antes de ir a la competencia. Un crack total.</p>
<h2 id="premoniciones">Premoniciones</h2>
<p><img src="/blog/hackitba2024/Hackitba24_d1-100.jpg" alt="Foto del Equipo (Durante la Presentación)"></p>
<p>Cómo ya saben (y si no saben se los comento) no soy una persona &ldquo;seria&rdquo;, cómo la gente suele decir y eso se nota en los nombres de los equipos que conformo.</p>
<p>Mientras estábamos proponiendo ideas en el grupo de WhatsApp, y no lográbamos decidirnos, Roman mandó un sticker, más concretamente este sticker:</p>
<p><img src="/blog/hackitba2024/carpincho-meme.jpeg" alt="Es todo un tema carpincho meme"></p>
<p>Y así mágicamente, un poco por joder, un poco por la moda de los carpinchos y otro poco porque sí, llegó el nombre; &ldquo;Y&hellip; es todo un tema viste.&rdquo; (Leído tal cuál cómo se escribió, con puntos suspensivos y todo).</p>
<p>Cómo dato curioso, Gemini define esta frase de la siguiente manera:</p>
<blockquote>
<p>&ldquo;Es todo un tema, viste&rdquo; es una expresión coloquial rioplatense (usada en Argentina y Uruguay) que significa que algo es un problema, una cuestión complicada o difícil de tratar. <br>
La frase implica que el tema en cuestión es complejo y requiere de cierta atención o consideración</p>
</blockquote>
<p>Irónicamente, es justo de lo que pecamos; falta de atención y consideración, que más adelante íbamos a pagar bien caro.</p>
<h2 id="la-temática">La Temática</h2>
<p>La Hackatón se dividía en dos categorías o &ldquo;tracks&rdquo; cómo así lo llamaban. <br>
Cada uno de estos tracks definía una temática (bastante amplia) acerca de lo que debía ser el proyecto en cuestión, y también dividía a todos los participantes en grupos que contaban con sus propios jurados y mentores. <br>
Para esta edición en particular, las opciones a elegir eran &ldquo;Economía y Finanzas&rdquo; o &ldquo;Salud y Bienestar&rdquo;.</p>
<p>De economía y finanzas no entendíamos una goma, y tampoco nos íbamos a poner la capa de Web3 Devs haciendo alguna cosa crypto porque no daba.<br>
Por el otro lado, de salud y bienestar tampoco teníamos idea, pero la podíamos dibujar un poco más.</p>
<p>Si bien las reglas indicaban que no se podía llevar nada pensado, ni desarrollado, y que todo tenía que surgir en la competencia, los tracks fueron publicados en el Instagram unas semanas antes de arrancar, lo cuál nos daba tiempo más que de sobra para intentar formular alguna idea potable. Pero no, eso no formaba parte de nuestra &ldquo;escencia&rdquo;.</p>
<p>Para nosotros la gracia era &ldquo;verdaderamente&rdquo; participar de la Hackatón, craneando todo allá, formulando las ideas y desarrollando en el momento. Pasa que se ve que fuimos de los pocos que de verdad querían aferrarse a esto, ya que había equipos que llegaron con la idea en mente, otros que estuvieron sólo dos horas on-site para luego retirarse a sus casas a desarrollarlo, y algunos hasta habían llegado con el MVP hecho.</p>
<p>Sí, las cosas no pintaban bien desde un principio, y para cólmo, a medida que todo avanzaba nos fuimos dando cuenta de lo profundo que era el pozo en el que nos estábamos metiendo.</p>
<blockquote>
<p>PD: Acá iba a hacer una referencia al pozo de Mortal Kombat 4 de la PSX, pero la verdad que después de pensarlo por un buen rato, me dí cuenta de que no había mucha vuelta que darle al chiste. De verdad se sintió cómo estar cayendo en un pozo profundo que pareciera no tener fin, acá les dejo una imagen de referencia:</p>
</blockquote>
<p><img src="/blog/hackitba2024/chatgpt-pozo-mk4.png" alt="Imagen del equipo en estilo Pixel Art, cayendo por un pozo cómo el de MK4"></p>
<blockquote>
<p>PD 2: ChatGPT dibujó un 5to integrante, que se vê que eran mis ganas de participar. Lo gracioso es que cuándo le pedí que lo elimine en la reedición, nos hizo a todos con cara de culo. Interesante moraleja&hellip;</p>
</blockquote>
<h2 id="el-nacimiento-de-jano">El Nacimiento de Jano</h2>
<p>Empujados por la temática, con nuestro equipo decidimos que queríamos hacer &ldquo;algo&rdquo; relacionado a la salud mental, y digo &ldquo;algo&rdquo; entre comillas porque en realidad quisimos hacer <em>todo</em>. No fue brainstorming, porque no llegamos a desarrollar ni un poco ninguna de todas las ideas que fuimos tirando sobre el pizarrón, así que en verdad no sé cómo llamar a este &ldquo;proceso creativo no-creativo&rdquo;. <br>
Recomendaciones de salud, de alimentación, música para calmar y alejar las malas vibras, instructor de técnicas de respiración, chat anónimo en tiempo real, foros, LLM&rsquo;s, llamadas ante urgencias, recomendación de otras apps y no me acuerdo ya cuántas otras cosas más se nos cruzaron por la mente al momento de dar pie al proyecto. Sâlo se que tiramos todo eso en una gran olla, le pusimos un toque de salsita, y rogamos con que sea el mejor guiso por 5 pesos jamás inventado. <br>
Y bueno, nos salió&hellip; esto:</p>
<p><img src="/blog/hackitba2024/notas-2.jpeg" alt="Notas de Jano"></p>
<p>Cómo todo proyecto con poca proyección de vida, obtiene primero su nombre antes que su propósito; &ldquo;Jano&rdquo;, que en la mitología romana, es el dios de los comienzos, las puertas y los finales, en nuestro caso, era sólo una vaga referencia agarrada de los pelos sobre la salud mental, que tenía poca identidad. De hecho, esa imagen de arriba fue nuestro PRIMER Y ÚNICO draft para empezar a diseñar esto que llamamos aplicación. Cómo pueden ver, es un poco de todo, y a la vez nada de nada, pero aún asi hicimos un esfuerzo y logramos &ldquo;dividir tareas&rdquo; para llegar a desarrollar lo que sea que haya sido esa cosa con nombre bonito y lema esperanzador. <br>
Lo bueno de todo esto, es que el objetivo estaba claro: hacer y entregar &ldquo;algo&rdquo;</p>
<blockquote>
<p>PD: Ahora que escribo esto me doy cuenta de que cualquiera se hubiera percatado de que esto no iba a ningún lado. Es más, algunos jurados nos lo habían dicho, lo interesante es que sólo algunos y no todos vieron (o quisieron ver) que nos estábamos por dar de lleno contra una pared. De eso voy a hablar (o no) más adelante. <br>
PD 2: Lo bueno es que ahora sé reconocer esto, nada para aprender a andar cómo caerse de la bici no? <br>
PD 3: Me causa mucha gracia cómo para compartir esto en LinkedIn me veo obligado por la presión social a venderlo cómo si hubiera sido la gran app de mi vida, volviéndolo un producto AI más con frases vacías y nombre mitológico curioso. Lo bueno es que tengo este espacio para expresarme tal y cuál cómo soy. <br>
Sí por casualidad hay alguien que esté leyendo esto y me da un poco de bola: escriban, escriban y no dejen de escribir. Me lo van a agradecer.</p>
</blockquote>
<h3 id="las-tecnologías">Las Tecnologías</h3>
<p>Voy a hacer una pequeña pausa en esta sección para hablarles un poco acerca de las tecnologías que elegimos para desarrollar este proyecto; La interfaz se planteó en un principio con React Native, pero cómo ninguno de nosotros sabía nada acerca de React Native, decidimos bajar 1000 escalones y hacer el proyecto en React con el ancho fijo de pixeles para que &ldquo;parezca un celu&rdquo; (Las <em>MediaQueries</em> eran sobreingeniería se ve). Seguido a esto, un backend todo destartalado en Node.js para &ldquo;presentar algunas cosas&rdquo;, y obviamente todo esto dockerizado, cómo no, con algunas claves hardcodeadas por aquí y por allá (cómo Dios manda). <br>
Después uno se pregunta; cómo un proyecto puede quedar así de muerto? <br>
NACIÓ muerto.</p>
<blockquote>
<p>Recomendación 1: No programen en React Native <br>
Recomendación 2: Ni en Flutter <br>
Recomendación 3: Directamente no hagan mobile.</p>
</blockquote>
<h2 id="la-vida-de-jano">La Vida de Jano</h2>
<p>Nosotros ya lo sabíamos, algún tipo de división de tareas teníamos que hacer, porque si bien 48hs puede parecer mucho, entre dormir (algo) y comer (poco) el tiempo se pasa volando. <br>
A grandes rasgos, nos dividimos &ldquo;funcionalmente&rdquo; (aunque al final nada de esto funcionó) de la siguiente manera:</p>
<ul>
<li>Ari se encargaba del layout y diseño en general, porque era el que más clara la tenía con React.</li>
<li>Roman tenía cómo desafío aprender a usar algo que no sea Java 8 en STS mientras acompañaba a Ari en el desarrollo de la UI.</li>
<li>Rami por otro lado, iba dando ideas y preparando el backend, además de todo lo que correspondía a la dockerización y despliegue del proyecto.</li>
</ul>
<p>Y yo, bueno, yo hice desastres&hellip;</p>
<p>Para darles un poco más de contexto, en ese punto de 2024, la IA recién estaba empezando a &ldquo;florecer&rdquo;. El único proveedor disponible que te brindaba una API Key <em>buena bonita y barata</em> era <strong>OpenAI</strong> con <strong>ChatGPT</strong>, <strong>Claude</strong> era un gusto de la realeza, y Google seguía viendo que hacer para robarle más datos a sus usuarios, mientras que acababa de presentar sus modelos ligeros Gemma (lejos todavía de clavarte Gemini en cada teléfono existente en la faz de la tierra). <br>
Los conceptos relacionados a los LLM&rsquo;s como RAG, Fine-Tuning y MCP estaban todavía en sus fases tempranas de desarrollo. Si bien Hugginface alojaba algunas propuestas interesantes, no existía un conocimiento formado cómo tal en la materia.
Todavía no existían los modelos (mal llamados) &ldquo;pensantes&rdquo;, no había nacido el concepto de &ldquo;prompt engineering&rdquo;, los perfiles de LinkedIn todavía se redactaban y revisaban a mano, los OCR de CV&rsquo;s no existían y los vende cursos de N8N seguían robando con NFT&rsquo;s y otra huevadas más.</p>
<p>Yo considero que en este punto estas tecnologías estaban en su mejor fase, lo que a mi me gusta llamar la fase de &ldquo;exploración&rdquo;. Todavía no había ningún producto cómo tal demasiado consolidado, por ende pocas empresas metían plata, y nadie daba grandes pasos o realizaba apuestas en esto porque todavía era arriesgado. La gobernanza de los datos todavía no era una preocupación (les dimos todo, atontados por la novedad), y el monopolio del conocimiento lo llevaban los usuarios, que tenían en este punto más herramientas que valía la pena explorar. <br>
No digo que hoy en día ya no valga la pena explorarlas, es más, ahora existen miles de millones de formas de hacer lo mismo que antes se hacía, además de que hay facilitadores cómo LMStudio, Alpaca, Fabric, etc. Sâlo digo que antes, no era un mercado, era una tecnología más, y en mi opinión, era más interesante (y divertido) que ahora. Antes era una herramienta, ahora es un producto que te obligan a comprar, o sino, no sos &ldquo;compliance&rdquo; con la industria del desarrollo de software actual.</p>
<p>Perdón, me fuí de tema&hellip; sigamos.</p>
<p>Yo, cómo ser humano proactivo y <em>&ldquo;fanático de meter la mano en dónde no debe sin miedo a perder el brazo&rdquo;</em> que soy, llevé la propuesta de encargarnos de modificar nuestro propio modelo para esta aplicación, enfocado específicamente en &ldquo;salud mental&rdquo; y &ldquo;apoyo psicológico&rdquo;. <br>
Si bien hoy en día me considero conocedor del tema, y detractor absoluto de que estas tecnologías sean aplicadas con ese propósito, en su momento me pareció que era algo que valía la pena explorar, y para mí estas competencias son el lugar indicado para hacerlo, ya que es un escenario &ldquo;simil-real&rdquo; (con demanda, objetivos, deadlines, etc..) que te ayuda a encontrarle un propósito, camino, y razón de ser a la excusa de aprender nuevas tecnologías.</p>
<blockquote>
<p>PD: Entiendanmé, en ese entonces el 80% de lo que programaba eran API&rsquo;s legacy en Java 6 con servicios SOAP, necesitaba una bocanada de aire fresco xD</p>
</blockquote>
<h3 id="los-recursos-son-limitados-en-nuestro-caso-inexistentes">Los recursos son limitados (En nuestro caso inexistentes)</h3>
<p>El plan era simple; necesitábamos afinar un modelo sencillo, ligero, que sea capaz de correr en una Thinkpad X230 con un I5 de 2da y 8GB de Ram (el Dante del pasado sí que era un soñador).</p>
<p>Si bien para ese entonces ya había disponibles varios modelos pre-entrenados con las mismas intenciones que las nuestras, estos tenían una cuantización de 7 billones de parámetros cómo MÍNIMO, que si bien no es mucho, no aplica para una máquina de tan pocos recursos.</p>
<p>Primero que nada, comencé con drafts y pruebas en local de distintos modelos aún más pequeños, ajustando algunos conceptos básicos. La idea era que el modelo tenía que limitarse a recorrer material pre-aprendido que nosotros le brindáramos, dar alguna que otra guía por la aplicación y sus conceptos, responderle al usuario de forma amable, y por último pero no menos importante, encargarse de redirigir o disparar sugerencias de líneas telefónicas de ayuda en caso de detectar que se cruzaban ciertos umbrales de riesgo.</p>
<p>El modelo en cuestión que tomamos fût el (para entonces) nuevo modelo de Google, Gemma (1) 2B, malo, feo y barato xD<br>
No sólo no logramos nada con estos modelos, sino que los resultados fueron bastante contraproducentes.<br>
Al final, terminamos &ldquo;drafteando&rdquo; un simil chatbot concatendando llamadas a la API de Open AI y agregándole contexto hardcodeado el payload xD</p>
<p><img src="/blog/hackitba2024/notas-1.jpeg" alt="Notas de Jano"></p>
<blockquote>
<p>Estas son las únicas notas que encontré al respecto&hellip; Lo único prolijo es la llamita :P</p>
</blockquote>
<h3 id="meras-máquinas-de-autocompletado">Meras máquinas de autocompletado</h3>
<p>Creo yo que el rotundo fracaso que fue este proceso de entrenamiento, y los resultados que nos dê, no sólo fueron el principio de una seguidilla de malos eventos que hicieron que nuestro proyecto decaiga, sino que de cierta forma cambiaron mi parecer sobre la inteligencia artificial en general, y conformaron el pensamiento crítico que tengo hoy al respecto.<br>
No quiero ponerme demasiado técnico en esta parte porque tengo pensado escribir más al respecto en un futuro cercano, pero quiero que se queden con el siguiente concepto.</p>
<p>Los modelos de inteligencia artificial generativa no son más que meras <strong>máquinas de autocompletado</strong>.</p>
<p>Cuánto menores sean los datos que conforman a un modelo, más propenso va a ser a concatenar una respuesta no esperada a un input dado (ya que son sistemas probabilísticos, no determinísticos), y dado que sus datos son &ldquo;todo internet&rdquo; (aunque no se sabe que parte se saca, ni de dónde se recorta) esto representaba un riesgo en sí mismo.</p>
<p>En nuestro caso nos pasó, que si le escribías al modelo con un tono deprimente, el modelo &ldquo;se deprimía&rdquo; con vos, y te incitaba a seguir con tu sufrimiento. Te relataba que el había vivido una historia similar (probablemente tomando relatos de vida de alguien más), y validaba intenciones autolesivas y hasta suicidas.</p>
<p>No pienso hacer chistes en esta parte, ya que es un tema que tuvo <a href="https://www.nytimes.com/2025/08/26/technology/chatgpt-openai-suicide.html">consecuencias reales</a> al año siguiente de la competencia, y desde entonces no paró de empeorar. Pienso que se está visibilizando poco el verdadero riesgo que tiene sobrevalorar estas tecnologías, y considerarlas &ldquo;magia&rdquo; cuándo en realidad no lo son.</p>
<p>Por si les interesa profundizar, les dejo un <a href="https://thebullshitmachines.com/">artículo</a> lleno de diferentes estudios y análisis, y un <a href="https://anthonymoser.github.io/writing/ai/haterdom/2025/08/26/i-am-an-ai-hater.html">post</a> recopilando esta y otras atrosidades más. La idea no es asustar ni demonizar a nadie, sólo busco generar conciencia y fomentar la lectura crítica del tema.</p>
<blockquote>
<p>Pido disculpas si esto rompe un poco el flujo del blogpost. Me parece que valía la pena hacer una mención a este tema.</p>
</blockquote>
<h3 id="drag--drop-mobile">Drag &amp; Drop Mobile</h3>
<p>Para volver un poco al mood, y así ya ir cerrando esta historia, les voy a compartir algo.</p>
<p>En un momento, estábamos tan quemados de tanto desorden que cada uno estaba haciendo lo que podía (osea, cualquier cosa), y para graficar este estado de demencia, me quedó grabada la postal de lo que estaba intentando codear Roman.</p>
<p>Recuerdo que me acerqué a su mesa para ver cómo iba, a lo que él me comenta que estaba trabado desarrollando la función de &ldquo;Drag &amp; Drop&rdquo; de la aplicación. <br>
En su momento se ve que no me percaté, y fueron varios los intentos de arreglarlo para que funcione hasta que nos dimos cuenta de que estábamos intentando desarrollar una funcionalidad de arrastrar y soltar para una aplicación MOVIL.<br>
Consagramos la cúspide del &ldquo;gagaismo&rdquo;</p>
<blockquote>
<p>Y no viene de Lady Gaga, sinó de estar completamente Gagá</p>
</blockquote>
<h3 id="respecto-a-los-jueces-el-apoyo-logístico-y-el-ciclo-de-desarrollo">Respecto a los jueces, el apoyo logístico, y el ciclo de desarrollo</h3>
<p>A lo largo de toda la competencia, diferentes &ldquo;mentores&rdquo; se acercaban a dar una mano y ver si podían encaminarnos un poco en nuestro desarrollo, subirnos la moral, y darnos su visión &ldquo;crítica&rdquo; respecto a lo que sea que estábamos haciendo en ese momento.</p>
<p>La verdad, no recuerdo específicamente quienes eran (tampoco es que le dí mucha importancia), pero en resumen; algunos nos dijeron que &ldquo;íbamos bien&rdquo; (hacia el abismo se ve), otros compraron con los valores detrás de la idea (pero no evaluaron ni un poco la viabilidad y sus resultados), y sólo uno, que parecía ser el mentor que más se ganó la vida trabajando, nos advirtió de que un proyecto tan &ldquo;ambicioso&rdquo; (por no decir burdamente estúpido y grande) nos iba a jugar una mala pasada, qué el tiempo es limitado, y que no somos máquinas inagotables.</p>
<p>Claramente no escuchamos un carajo, y es por eso que seguimos avanzando con lo que sea que fûe esta cosa que terminamos presentando&hellip;</p>
<p><img src="/blog/hackitba2024/%7BFBB075E1-B268-4BEF-AE32-06BFD03C866F%7D.png" alt="Capturas de Jano"></p>
<p>Si bien no se ve feo, y parece que tiene muchísima información útil, créanme cuándo les digo que es todo y a la vez nada.<br>
Y sí, saqué capturas y las pegué en un excalidraw porque no me atrevo a intentar levantar ese proyecto de la ultratumba.</p>
<blockquote>
<p>PD: Si el MVP de un proyecto se ve más lindo de lo que aporta realmente, bandera roja. Te tienen que saltar TODAS las alarmas.</p>
</blockquote>
<p>Demás está decir que no ganamos ni una palmadita en la espalda, pero aguantamos hasta el final y por lo visto eso sólo ya era más que lo que habían logrado la mayoría.<br>
Y sí, ya sé que &ldquo;mal de muchos, consuelo de tontos&rdquo;, pero la verdad es que haber llegado a entregar algo bajo estas circunstancias se sintió cómo un verdadero premio a la resiliencia.</p>
<p>Cómo extra, para cualquiera que haya tenido el valor de llegar a leer hasta acá (primero que nada, gracias &lt;3) les dejo cómo recompensa un link al <a href="https://www.youtube.com/watch?v=iMRsh51A9l8">HORRENDO video</a> de presentación del proyecto, en el que salimos completamente arruinados.</p>
<p>Muchas gracias por leer! Espero que me cara en 144p presentando esta &ldquo;cosa&rdquo; les pueda sacar una sonrisa. Hasta pronto!</p>
]]></content:encoded>
    </item>
    <item>
      <title>IEEEXtreme 17</title>
      <link>https://www.dantezulli.ar/blog/ieeextreme17/</link>
      <pubDate>Sat, 28 Oct 2023 00:00:00 +0000</pubDate><author>dantezulli2004@gmail.com (Dante Zulli)</author>
      <guid>https://www.dantezulli.ar/blog/ieeextreme17/</guid>
      <description>&lt;p&gt;Buenas! Como andan? Todo bien? &lt;br&gt;&#xA;Les doy la bienvenida a este, el primer post en mi blog, que trata sobre mi primer experiencia con la programación competitiva en equipos, presencial y &amp;ldquo;maratoneal&amp;rdquo; (lease como adjetivo calificativo de &lt;em&gt;maratón&lt;/em&gt;). &lt;br&gt;&#xA;No es mi primera vez redactando, pero si es la primera vez que escribo algo que no sea meramente documentación técnica, así que ténganme un poco de piedad.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Aclaración importante: &lt;br&gt;&#xA;Si bien esta entrada está datada del 28 de Octubre de 2023, estoy redactando esto dos años después, Mayo del 2025, que fue cuando decidí empezar a plasmar mis experiencias pasadas en &amp;ldquo;papel&amp;rdquo;, y compartirlas con el mundo (si es que acaso alguien está leyendo esto). &lt;br&gt;&#xA;Si bien mi recuerdo puede estar difuso, voy a tratar de dejar expresado mi sentimiento tal  cuál como fue, para intentar no perderlo del todo (Ese es el verdadero motivo de este blog).&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Buenas! Como andan? Todo bien? <br>
Les doy la bienvenida a este, el primer post en mi blog, que trata sobre mi primer experiencia con la programación competitiva en equipos, presencial y &ldquo;maratoneal&rdquo; (lease como adjetivo calificativo de <em>maratón</em>). <br>
No es mi primera vez redactando, pero si es la primera vez que escribo algo que no sea meramente documentación técnica, así que ténganme un poco de piedad.</p>
<blockquote>
<p>Aclaración importante: <br>
Si bien esta entrada está datada del 28 de Octubre de 2023, estoy redactando esto dos años después, Mayo del 2025, que fue cuando decidí empezar a plasmar mis experiencias pasadas en &ldquo;papel&rdquo;, y compartirlas con el mundo (si es que acaso alguien está leyendo esto). <br>
Si bien mi recuerdo puede estar difuso, voy a tratar de dejar expresado mi sentimiento tal  cuál como fue, para intentar no perderlo del todo (Ese es el verdadero motivo de este blog).</p>
</blockquote>
<blockquote>
<p>Otra aclaración importante:<br>
No, no está escrito con IA, ni repasado por ChatGPT, Claude, Gemini, ni nada que se le asemeje. <br>
Está todo redactado por mí, revisado (ponele) por mí, y publicado por mí, así que es muy probable que encuentren algún error, alguna falla en la redacción, o algún <em>typo</em> (sobretodo porque en invierno las manos se me congelan y el caloventor me da solo en las patas).<br>
Nuevamente, ténganme un poco de piedad, o no, va, yo que sé. Hagan lo que quieran</p>
</blockquote>
<h2 id="el-equipo">El Equipo</h2>
<p><img src="/blog/ieeextreme17/equipo.jpg" alt="Foto del Equipo"></p>
<blockquote>
<p>Ariel, Dante (Yo) y Ramiro, en ese órden.<br>
PD: Sé que la calidad es paupérrima, pero todavía no pude encontrar las fotos originales.</p>
</blockquote>
<p>Voy a empezar esta breve sección sobre el equipo haciendo un análisis a raíz de su nombre, que (marcando tendencia para futuras competencias) es un chiste boludo nivel 1000 que nos causó gracia cuando uno lo dijo y así quedó.</p>
<p>El reconocido meme de <code>meAnotoUnAmigo</code> (sí, escrito en camelCase) fue el icónico nombre de nuestro equipo, que en sí no tenía mucha ciencia; <br>
Ari me propuso de anotarnos, yo le dije de anotar a Rami, y con Rami terminamos de convencer a Ari de anotarnos los tres.</p>
<p>Ah, claro, me faltó presentar a Ari y a Rami;<br>
Ariel es amigo de la facultad. Nos conocimos en la UNLa cuando él se acercó a mí (durante el primer año) porque le parecía recordarme de una juntada en lo de una amiga en común hace más de 4 años (ni yó se cómo tiene tanta memoria).<br>
Ramiro es amigo desde hace unos cuantos (muchos) años ya. Nos conocimos terminando el secundario, hablando por un grupo de discord y encontrando que teníamos en común la misma neurona nerd hiperactiva que rebotaba de acá para allá.</p>
<p>Cuándo se dan oportunidades cómo esta, uno piensa que lo normal hubiera sido conformar el mejor equipo para dar el mejor rendimiento en la competencia, pero nada más lejos de la realidad. <br>
Nos autoconvocamos por obra y gracia del espíritu santo, nosotros solos, 3 personajes, uno peor que el otro, con ganas y ánimos de participar. <br>
Nunca nos pusimos a pensar si teníamos las capacidades para llevar a cabo el reto, ni la experiencia/práctica previas necesarias, nisiquiera sabíamos programar todos en el mismo lenguaje!</p>
<p>Yo creo que fué el momento, las ganas de animarse, las ansias por participar, la emoción por lo nuevo. En este contexto, nada de lo antes mencionado importaba. <br>
Pero pegó, más adelante nos dimos cuenta que sí importa estar preparados, y que no era joda una competencia de este calibre. Más que nada por la dificultad de los retos, y el nivel de exigencia personal que manejaba (y maneja a día de hoy) cada uno de nosotros.</p>
<h2 id="programación-competitiva-sí-presencial-no-durante-24hs-esperá-qué">Programación Competitiva? Sí. Presencial? No. Durante 24hs? Esperá, qué&hellip;?</h2>
<p><img src="/blog/ieeextreme17/redbull.jpg" alt="Escritorio con latas de RedBull"></p>
<p>Si bien para cuando decidimos participar, yo ya contaba con algo de experiencia en la programación competitiva (5 ejercicios de Hackerrank a medio hacer), nunca había participado en una competencia presencial, menos en equipo, y mucho menos durante 24hs.<br>
No sé si fue la promesa del catering durante todo el evento o qué (mentira, todos sabemos que sí lo guión), pero al menos yo no había dimensionado el semejante peso que tiene un evento de estas características.<br>
En su momento no lo pensé, pero estar 24hs alerta resolviendo ejercicios no es moco de pavo.<br>
Requiere concentración, descansos regulados, y lo más importante, estabilidad mental. <br>
Ya es difícil juntar todas esas características en una semana normal de trabajo, imaginate en un día entero, con todo el estrés que una competencia conlleva. TODO me resultó exponencial.</p>
<p>Cuándo lograba resolver un ejercicio, me sentía dios, pero cuando me trababa durante horas con uno, era un simple don nadie merecedor del más profundo infierno que jamás se haya imaginado.</p>
<p>El mayor desafío fue personal, y sí, se que parece una de esas huevadas que uno pone en el LinkedIn de &ldquo;fue un gran desafío profesional y personal&rdquo;, pero estoy hablando en serio&hellip; <br>
Para alguien como yo, que tiene una exigencia altísima para consigo mismo (tanto que a veces es perjudicial), un evento de estas características podía llegar a convertirse en una trampa mortal. <br>
El resolver algo se sentía como el deber, como un &ldquo;así tiene que ser&rdquo;, y el fallar se convertía en un pecado imperdonable.</p>
<h2 id="palíndromos-mi-némesis">Palíndromos, mi némesis</h2>
<p><img src="/blog/ieeextreme17/mi-escritorio.jpg" alt="Yo, sentado en mi escritorio"></p>
<blockquote>
<p>Nótese la cantidad de latas de energizantes en mi escritorio, el mate, el desodorante y alguna magia más.</p>
</blockquote>
<p>Recuerdo en un momento estar completamente trabado en un ejercicio algo complejo de creación de palíndromos cruzados en una matriz de sílabas. No recuerdo bien el enunciado, pero sí que en ese momento me costaba hasta entenderlo, mucho más resolverlo.</p>
<p>Este ejercicio formaba parte de una tanda de ejercicios complejidad medio-alta, de los que aparecían sobre la mitad de la competencia, así que uno ya venía medio limado, no sólo todo lo que resolvió antes, sino por la cantidad de horas seguidas que veníamos programando.</p>
<p>Era ya la madrugada, no sé cuántas latas de RedBull me había tomado. Sentía todo rápido, pero yo estaba lento, y recuerdo que le digo a Ariel que me voy a recostar un rato porque &ldquo;no daba más&rdquo;.</p>
<p>Me levanté de la mesa, me eché en el piso duro del salón de facultad que nos asignaron, agarré un buzo y me improvisé una almohada para ver si podía dormir un poco, ya que en la &ldquo;no preparación&rdquo; que nos caracterizaba, no llevamos ni bolsas de dormir, ni almohadas, nada.<br>
Ahí es cuando recordé que por mucho que uno quiera, si tenés la cabeza a mil por hora, y querés frenar en seco, desacelerar no es tan instantáneo como parece. <br>
No me podía dormir. La culpa, los fantasmas, los &ldquo;peros&rdquo;, y todos los malos sentimientos se habían potenciado. Estaba cansado, muy cansado, y no me había dado cuenta.</p>
<p>Después de (a la fuerza) dormir un rato, me levanté renovado, sin saber que hora era.
Se sintió como que me había desmayado por días, pero solo fueron unos cuántos minutos. <br>
Mi nivel de azúcar en sangre se había acomodado (ponele), mis ojos descansado, y estaba recuperado, listo para atacar ese ejercicio que quedó esperando mi retorno a la batalla.</p>
<p>Cinco minutos después de sentarme frente a la compu lo tenía contra las cuerdas. Envié la solución, y pasó todos los tests, lo había rematado. Lo que antes fue imposible, se había vuelto sencillísimo. <br>
Es ahí cuando entendí que no somos máquinas y que no podemos exigirnos siempre al máximo. A veces, toca descansar, reacomodar un poco las ideas, y después seguir. <br>
Nuestras capacidades se pueden ver afectadas por mil y un cosas más. Muchas veces, no se trata de ser o no capaz de algo, se trata de estar preparado para afrontarlo, y dentro de esa preparación, (creo yo qué) la receta del éxito es conocerse a uno mismo. <br>
Manejar sus tiempos, sus descansos, saber escuchar lo que tu cuerpo te indica, y saber actuar en consecuencia son pilares fundamentales para mantener un buen rendimiento (y una buena salud, obvio).</p>
<blockquote>
<p>Sí, sé que lo que acabo de decir puede sonar a una lista de frases de autoayuda para los estados de Facebook. <br>
Pero créanme cuando les digo; estas cosas pasan, y son más reales de lo que parecen. <br>
Mi intención no es hablar desde una posición de superioridad o como si tuviera todas las respuestas. Ni siquiera yo me conozco al 100%, y hasta dudo mucho de que eso sea posible.</p>
<p>Sin embargo, lo que sí sé es que antes me conocía mucho menos. Fue a raíz de mis errores, mis pisadas en falso, y mis momentos límite como este, que me &ldquo;empecé a entender&rdquo;. <br>
Aprendí a la fuerza, y esa es la experiencia que quería compartir (con cualquiera que esté leyendo esto).</p>
</blockquote>
<h2 id="las-hazañas-del-equipo-y-otros-recuerdos-vagos">Las hazañas del equipo, y otros recuerdos vagos</h2>
<p>Voy a hacer un esfuerzo para que esta sección esté medianamente conectada párrafo a párrafo, aunque en realidad, va a auspiciar más de una lista de anécdotas, recuerdos y comentarios del evento que otra cosa.</p>
<h3 id="el-equipo--1">El equipo + 1</h3>
<p><img src="/blog/ieeextreme17/equipo2.jpg" alt="El equipo &#43;1"></p>
<p>Quiero hacer una mención especial al cuarto integrante <em>&ldquo;no integrante&rdquo;</em> de nuestro equipo, de quien (perdón) no me acuerdo el nombre. <br>
Se había anotado con un amigo, pero el amigo se bajó a último momento, y el flaco se presentó solo, como un campeón.<br>
Justo dio la casualidad de que le tocó en el salón de al lado, en un piso donde estábamos solo nosotros. Y bueno, obvio que lo sumamos, esas cosas pasan. <br>
Lo único que tengo para objetar es que teníamos la mesa perfecta; tres ThinkPads&hellip; y el loco cayó con una IdeaPad. Pero bueno, al menos era Lenovo, qué sé yo.</p>
<h3 id="rami-llevó-un-limón-para-romper-el-hielo">Rami llevó un limón para romper el hielo</h3>
<p><img src="/blog/ieeextreme17/rami-limon.jpg" alt="Rami teniendo un limón"></p>
<p>La competencia arrancaba la noche de un viernes y se extendía hasta el sábado a la misma hora.  <br>
El primer evento antes de comenzar era una reunión entre todos los equipos para conocernos mejor, compartir un poco, hacer sociales, y lo más importante; comer. <br>
Recuerdo que todos los integrantes de los demás equipos eran estudiantes del ITBA (obviamente) de distintas sedes del país. <br>
Nosotros, en cambio, éramos dos estudiantes de la UNLa y un &ldquo;panadero&rdquo;, como se presentaba Rami medio en chiste, para desviar un poco las preguntas sobre qué estudiabas o no en la universidad (y los prejuicios que venían con eso).</p>
<p>En ese contexto, éramos &ldquo;un equipo más&rdquo;, incluso un escalón por debajo del resto, por lo que ya mencioné y por otros varios prejuicios: universidad pública vs privada, la carrera que elegías, o simplemente el hecho de estudiar o no.</p>
<p>Pasada esa reunión, arrancó la competencia y nos sentamos a resolver. Iban tirando ejercicios uno tras otro; algunos los sacábamos, otros no, y así íbamos sumando puntos para el ranking. <br>
Me acuerdo patente que, en un momento de la noche, largaron 3 ejercicios de golpe, y cada uno se quedó con uno para resolver por su cuenta.</p>
<p>Rami agarró, por lejos, el más jodido de todos. Un enunciado que mezclaba lógica, manos de póker, y algoritmos para resolver las mejores combinaciones en el menor tiempo posible. <br>
Para nosotros era chino básico. Ari no lo terminaba de entender, y yo en ese momento ni siquiera sabía jugar al póker (pensaba que era como un chinchón con más pasos), así que ese ejercicio tenía dueño desde el minuto cero.</p>
<p><img src="/blog/ieeextreme17/rami-pizarron.jpg" alt="Rami resolviendo en el pizarrón"></p>
<p>Pasaban las horas, seguían cayendo ejercicios, y nosotros avanzábamos con otras tareas mientras Rami seguía completamente metido en ese mismo ejercicio que se había comprometido a resolver hacía ya un buen rato. <br>
En un momento (yo estaba sentado justo enfrente), lo escucho gritar de alegría y pegar un pequeño salto de emoción. <br>
Tanta fue la emoción que le Dió un para nada pequeño golpe a la mesa que bastó para desconectarme la máquina de la pared. (Como no tenía batería, se apagó al instante) <br>
Pero no importaba. Lo había resuelto, solo, sin ayuda de nadie más que de él mismo. <br>
Había logrado resolver ese ejercicio tan difícil que se había auto-asignado desde un principio.</p>
<p>Cuando se nos ocurrió revisar el ranking para ver cuántos puntos había metido, estábamos en el top 100 <strong>mundial</strong>, entre más de 7000 equipos inscriptos. <br>
Ahí me cayó la ficha: no era que Rami estaba trabado… es que <em>todo el mundo</em> lo estaba. Y él, con todo ese esfuerzo y esa dosis de esa magia que tiene (que jamás voy a terminar de entender), había sido de los pocos que lo logró resolver. <br>
Tanto así, que posicionó nuestro equipo en lo más alto de la pirámide, después de haber pasado horas peleándola desde el medio&hellip;</p>
<p>Un rato después llegó la hora del descanso. Bien merecido, diría yo, sobre todo después de tantas horas de codear sin parar. Más aún para Rami, que se había roto la cabeza y nos hizo destacar con ese ejercicio. <br>
Ahí, Cuando bajamos a tomar algo, nos dimos cuenta de que no habíamos sido los únicos en revisar el ranking para ver cómo veníamos. <br>
Varios equipos empezaron a acercarse, reconociendo que habíamos sido de los pocos en resolver ese ejercicio. Querían saber cómo lo habíamos hecho, qué estrategia usamos, qué se nos había ocurrido. Ni lerdos ni perezosos. <br>
Hasta hacía un rato, éramos nosotros los que teníamos que ir a hacer sociales, sólo para que nos ignoraran o nos corrieran sutilmente. Y de golpe, en cuestión de minutos, pasamos a ser el centro de atención. Todos querían hablar con nosotros.<br>
Habíamos movido el piso de lugar. Y se notó.</p>
<p>Obviamente, en medio de tantas preguntas e indagatorias a Rami, yo intenté persuadirlo para que no ande regalando así nomás la fórmula del éxito. Algo que tanto le costó conseguir, que conformaba un logro no solo para él, sino que nos posicionaba a nosotros como el mejor equipo local, y uno de los mejores equipos mundiales.</p>
<p>No hubo caso.</p>
<p>Terminó compartiendo todo, charlando, explicando, abriéndose con los demás como si nada. Sin esperar nada a cambio. <br>
Y la verdad&hellip;  no lo puedo culpar. Es mi mejor amigo, y lo respeto y valoro justamente por eso. Por ser cómo es, una buena persona. <br>
A veces medio boludo, pero buena persona al fin.</p>
<h3 id="no-tomen-tanta-red-bull">No tomen tanta Red Bull</h3>
<p><img src="/blog/ieeextreme17/todos.jpg" alt="Una foto de todos los participantes"></p>
<p>En definitiva, el IEEEXtreme fue un sacudón emocional, físico y mental que me dejó recuerdos imborrables, amistades reforzadas y algunas lecciones que todavía sigo digiriendo. <br>
No ganamos ningún premio, ni salimos primeros en nada, pero nos llevamos lo más valioso: la experiencia (y muchas latas de Red Bull).</p>
<p>¿Que cómo nos fue? <br>
Terminamos <strong>1264° a nivel mundial</strong>, entre más de 7000 equipos registrados, y <strong>101° en Latinoamérica</strong> sobre un total 270, lo cual no es poca cosa considerando todo lo que hubo detrás. <br>
En el ranking nacional quedamos <strong>12° de 16 equipos</strong>, lo cuál significa que todavía tenemos mucho camino por delante.</p>
<p>Aunque en el artículo no lo mencioné tanto (hasta ahora), Ari también fue parte clave de este equipo. Se rompió el lomo como nosotros, se gastó la pila mental y tiró una banda de código. Lástima que programó todo en JavaScript… pero bueno, nadie es perfecto.</p>
<p>No sé si volvería a hacerlo exactamente igual, pero tampoco cambiaría nada de lo que pasó. <br>
Gracias por leer hasta acá (si es que alguien lo hizo). Si no, no importa&hellip; igual necesitaba escribirlo porque después me lo olvido. <br>
Nos vemos en la próxima!</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
