Estaba callado, pero el internet se ha vuelto tan frenético los últimos días que me veo obligado a usar toda la energía
que estaba gastando nadando en mi depresión estacional para salir de mi cueva, ponerme a pensar profundamente en el papel
de mi diario, analizar eventos de los últimos días y ponerme la máscara de ser humano responsable.
… seré breve… - Fidel Castro, New York, September 26th, 1960.
Hablemos de la Opening Keynote del Rails World 2026
Pero primero, vamos a precargar tu ventana de contexto.
Per Audacia Ad Astra. Look, Mom, I can code without my hands!

source
Después del Keynote del DevDay 2026 de OpenAI, decidí
sacrificar el menú de mi almuerzo durante los próximos 2 meses para ponerme a experimentar con GPT 6 Astra en la nueva
versión de Codex CLI y probar la ingeniería agéntica usando mi voz, con una suscripción cuyos límites me permitieran usar
los modelos superavanzados que todo el mundo en X dice que nos van a reemplazar a todos en los próximos 6 meses… desde
hace 24 meses.
Debo admitir que el primer día tuve mi primera sesión larga e ininterrumpida de agentic engineering con un modelo de
frontera de nueva generación, reparando un prototipo roto que había intentado reparar con varios otros modelos y arneses.
No voy a mentir, me sentí como Tony Stark en Iron Man rediseñando la armadura Mark I mientras reparaba el proyecto de
React Native, construido con modelos de generación anterior.
Para ser un nuevo dios digital, me sorprende que obedezca todas mis órdenes sin rechistar, al punto de que tuve que
ordenarle que me contraargumentara para mejorar el plan de ejecución, el diseño arquitectónico de alto nivel y las metas
de la aplicación que estábamos reconstruyendo.
Dejen que les cuente un poco de historia. Primero intenté escribir, pero me sentí extremadamente limitado por mi propia
velocidad al tener que pensar en caliente y al mismo tiempo traducirlo al inglés, por lo que decidí lanzar el comando
/voice y comencé a hablar con Astra. En un principio en inglés, pero posteriormente le comenté que me molestaba mi
propia pronunciación y el modelo me respondió en español, supongo que extrayendo información de la zona horaria de mi PC
o de la dirección IP de la conexión con los sistemas de OpenAI. Impresionante.
Continuando la conversación en español, comencé con la tarea de limpiar el AGENTS.md del proyecto; como he estado
trabajando en él con varios arneses y al menos tres modelos distintos, me puse a hablar con el modelo para tener un setup
un poco más limpio y concentrado en el proyecto, que reflejara las decisiones técnicas que he tomado, como las librerías
que utilizo, e incluyera enlaces a su documentación para darle al agente un poco más de contexto sobre el tipo de
decisiones que me gustan y dónde buscar la información técnica. Sé que esto lo puedo hacer con varios tipos de skills
(habilidades), pero personalmente me pareció más conciso utilizar un enfoque ingenuo, de la misma forma en la que
cualquier persona que esté experimentando con su suscripción de ChatGPT abordaría su primera experiencia con el modelo
después de haber intentado sacar el proyecto adelante en varias ocasiones y con otros modelos de generación anterior.
Después de unos pocos intercambios, me gustó lo que vi y decidí hacer commit y push al repositorio.
Ahora vamos con lo poderoso: comenzar a reparar la aplicación. El primer flujo que reparamos fue el de subida de documentos
al almacenamiento en Firebase, desde donde una Firebase Function los toma y los deja en el Google Drive de un amigo.
Este flujo nunca había funcionado del todo bien. Estuve discutiendo con Astra durante un par de horas para construir el
contexto del proyecto, dirigir su pensamiento, dejar definidas las metas de la aplicación y cómo quería que fuera nuestra
interacción; quedé impresionado por cómo, después de haberle pedido una sola vez que me contraargumentara si algo era
demasiado vago, comenzó a hacerlo y me llevó a darle notas y diagramas de diseño arquitectónico que había plasmado en un
par de sesiones de brainstorming con mi amigo.
Esto es algo que me ha comenzado a gustar de utilizar los LLM para investigar y debugar problemas en mi software: este
sistema de interacción multimodal, donde puedo interactuar con mi PC vía audio, texto, imágenes y documentos, y el modelo
capta mis intenciones sin que yo tenga que ser superexplícito en mis instrucciones.
Una cosa que me sorprendió del arnés de Codex y Astra es que me sigue prestando atención mientras está trabajando en
segundo plano, imagino que lanzando un nuevo subagente. Se acopló perfectamente a la forma de trabajar de mi cerebro:
cuando me vino a la mente algo que me preocupaba o que creía que podía ser relevante más adelante, tomó nota y lo dejó
guardado en un archivo Markdown en la carpeta de memoria del proyecto para revisarlo después.
Otra cosa que me encantó fue la siguiente. Como mi experticia no es en desarrollo de aplicaciones móviles, sino en
desarrollo web (por eso mi elección de React Native), no estoy familiarizado con el tooling que se podría considerar
el estándar para pruebas automatizadas. Pero recordé una experiencia que tuve una única vez utilizando OpenCode,
cuando, para solventar un bug y validar unos cambios, el agente se conectó a una consola de interacción con la aplicación
y comenzó a controlarla con comandos desde dicha consola.
Así que se lo comenté a Astra. Hizo una búsqueda rápida en la web y me recomendó inmediatamente Maestro.
Genial, no tenía ni la primera idea de cómo buscarlo y, como no tenía en la cabeza automatizar pruebas end-to-end, me
encantó la recomendación. Le pedí que la incluyera y que, para el proof-of-concept, escribiera un test del flujo de
autenticación de la aplicación. Escribió el test, lo corrió y el test pasó. Genial, le pedí que incluyera en el plan
escribir tests de los flujos desarrollados. Nuevo punto de control alcanzado: commit y push al repositorio.
Se me ocurrió ser un poco más ambiguo. Le pedí probar este caso: ¿qué pasa si el token de sesión del usuario ha expirado
y no se puede refrescar porque el usuario no existe o el token de refresco ya no es válido? Astra simplemente comenzó a
trabajar en cómo escribir una prueba y colocar la aplicación en el estado correcto para poder probarlo. 5 minutos después,
tenía la prueba funcionando y me enseñó una funcionalidad de Expo: cómo agregar mis propias opciones
en el menú de Dev Tools. Nuevo punto de control alcanzado: commit y push al repositorio.
Finalmente, le pedí a Astra que para los subagentes de programación y revisión utilizara el nuevo GPT-6.1 Sol
y que comenzara. 20 minutos después, los subagentes habían terminado su trabajo. Me puse a revisar el código y me gustó
bastante el resultado. Repite después de mí: commit y push al repositorio.
Aunque la arquitectura del proyecto sufrió un poco, también debo admitir que no la tengo superdefinida. Los otros modelos
de generación anterior habían fallado al implementar lo que les pedía y por eso la aplicación estaba rota: había
tenido que ponerme a refactorizar varios elementos a mano. Una limitación con la que me he encontrado es que no he dado
con una forma de lograr que los modelos sigan una arquitectura de software o no rompan la actual, al menos con los modelos
de generación anterior. Por eso he desarrollado este hábito de explicarme de más y recurrir tanto a los planes en un
intento de controlar el output de los modelos.
No sé si Fable es mejor, pero tampoco es como que Astra haya mejorado la arquitectura del código. A lo mejor tengo que
buscar una forma de reforzar la arquitectura del código con documentación y comentarios. Pero no es algo sobre lo que haya
investigado mucho.
El flujo que me puse a reparar con Astra dejó de fallar y ahora el proyecto tiene tooling para automatizar pruebas. Aun
así, no me siento cómodo dejando que el sistema probabilístico del LLM y su arnés agéntico decidan si correr los tests
en un turno dado. Será una cosa que tendré que investigar después…
Nuevo interés especial desbloqueado
Lamentablemente, todavía no tengo nada que aportar sobre los hooks en los arneses agénticos, solo que son mi próximo tema
de investigación. Quiero explorar cómo usarlos para introducir comportamientos determinísticos en los flujos de trabajo
e integrarlos en los repositorios para tener hooks específicos de cada proyecto. También quiero crear e implementar
hooks de sistema para automatizar mis propios flujos personales, como los logs de trabajo, y poder escribir devlogs
que compartir aquí o en mi canal de YouTube.
DHH made the keynote about his journey of mourning his retirement earlier this year
Mi lectura personal es que la Opening Keynote del Rails World 2026 trató sobre su duelo por su retiro como programador
profesional y cómo se redescubrió a sí mismo en este nuevo mundo en el que estamos entrando de la mano de la inteligencia
artificial y los sistemas agénticos. Porque esta charla no solo hay que ponerla en el contexto de las capacidades de los
modelos de última generación y la evolución de los arneses agénticos que nos permiten trabajar con ellos de forma correcta.
Porque en su primer podcast con Lex Fridman era infinitamente más escéptico
frente al vibe-coding/agentic engineering, pero desde entonces su posición ha cambiado completamente, y lo comenta en su
segundo podcast con Lex.
Y creo que comenzar dándole la vuelta al concepto de AI psychosis para convertirlo en AI euphoria es una muestra
de su maestría con el lenguaje y el poder que este tiene sobre nuestra percepción del mundo. Al mismo tiempo, aborda la
angustiante realidad que este cambio de paradigma significa para toda una industria, una realidad que muchos otros entusiastas
de la inteligencia artificial, e incluso timadores infiltrados, deciden ignorar o aprovechar para explotar nuestras
interacciones y sacar rédito económico en nuestra actual economía de la atención.
Por eso debo hacerle una reverencia a su metáfora, que relaciona la invención de la cámara y cómo cambió el mundo del arte
con la llegada de la era agéntica. Porque he escuchado un sinfín de metáforas que no dan en el clavo al tratar de comparar
esta nueva era con alguna otra capa en el stack tecnológico de la humanidad y cómo cambió la industria de la
computación, en lugar de verla como un cambio de paradigma.
Explica cómo esto llevó a los artistas a generar nuevos estilos de pintura e innovar en su campo; considero que lo hace
correctamente, aunque no tengo acceso a su biblioteca. De esa misma forma, todos tenemos que ponernos a experimentar y
explorar. Creo que el punto más importante de la presentación es cuando revela la pieza superrealista de Lauritz Tuxen
del rey Christian IX y su familia, la cual le llevó unos 3 años completar, justo antes o durante el proceso de la
democratización de la fotografía con la Kodak Brownie, para luego mostrar otra pieza con un estilo más impresionista.
Finalmente alcanza el clímax de la historia: Lauritz Tuxen es su antepasado, quien aceptó la nueva tecnología capturando
su retrato con la misma.
Esto revela el trasfondo de la charla: DHH nos está mostrando que ya pasó por el duelo por el final de su
vida como programador profesional y cómo ha entrado en una nueva etapa en la que ha decidido experimentar con lo que es
posible hacer con el software. Estuvo buscando en su pasado para poder redescubrirse; por eso la sección de fotografía
analógica con fotos de su niñez, continuando la analogía con la evolución de la tecnología de la captura de imágenes.
Termina su metáfora con la fotografía digital, la cual en menos de 2 décadas ha democratizado completamente la captura
de imágenes, al punto de que ya no tiene sentido medir cuál es el costo de capturar una imagen nueva: tenemos un dispositivo
en nuestros bolsillos que es capaz de emular el trabajo que hacía la mayoría de los fotógrafos con un montón de equipamiento
especializado hace 1 década.
Pero esa metáfora y el camino que nos presenta hacia el futuro serían palabras vacías de otro timador que busca generar
beneficios en la economía de la atención de nuestra distopía cyberpunk si no aportara evidencias. No solo de algo que hemos
perseguido en nuestro arte, el 10x programmer, sino también de los resultados de su experimentación en su compañía,
de la misma forma en que Rails se volvió uno de los grandes frameworks independientes para crear aplicaciones web.
Non-programmers have reached the Basecamp
Claramente, los agentes de código son lo suficientemente buenos para permitir a los diseñadores aterrizar en una
nueva versión de Basecamp todas las nuevas features que tienen en mente sin requerir de programadores en todo momento,
aunque se cruzaron con problemas en la arquitectura que requirieron la intervención de programadores antes del pase a producción.
Esto demuestra que Rails es compatible con el concepto de software factory que está en boca de muchas personas en
la industria.
Hey! Welcome to the Next Generation
Esto es algo que a la gente le ha costado digerir, porque es mostrar, en medio de una conferencia de Ruby on Rails, que
los creadores del framework lo abandonan para la próxima generación de uno de sus productos estrella. Personalmente no
entiendo por qué la narrativa colectiva de internet ha decidido agarrarse a esta decisión de 37Signals; tiene todo el
sentido del mundo su decisión con las realidades que ellos manejan, en especial si además esperan o quieren hacer crecer
el servicio, disminuyendo la carga en sus servidores o dándole espacio al servicio para una hipotética explosión de tráfico,
producto de agentes usando el servicio.
La gente espera un cliente nativo para interactuar con su correo y, además, tiene sentido escribir el servidor de correo
en un lenguaje como Rust para lograr la máxima velocidad y el mínimo consumo de recursos, porque el grueso de la complejidad
y las features está en el cliente, no en el servidor.
Linux is not the future of desktop computing, it’s its present!
Toda la tecnología de agentes ha sido desarrollada bajo Linux; incluso NVIDIA mantiene su propia distro hoy en día.
¡Omarchy Quattro es increíble! Aunque solo recientemente he comenzado a usar LLM en él, es mi sistema operativo personal.
Y después de mi experimento con GPT 6 Astra, no puedo esperar para darle una idea que tengo para una aplicación cuya UX
me encantó en Windows y no está disponible en Linux; pero eso es un tema para otro día.
Pero lo relevante es que gracias a los regalos del software open source, la libertad de Linux y el poder de los agentes
puedes crear tus propias aplicaciones o adaptar aplicaciones existentes a tu gusto y necesidades para que tu computadora
personal sea realmente personal.
No todo el mundo quiere hacer esto con su computadora personal, pero para los artífices entusiastas del software nuestra
computadora se puede volver nuestro taller creativo, con mínima fricción, donde experimentar y probar nuestras ideas, libres
de la carga y el legado del pasado del software. Y probablemente crear el futuro del software hoy.
The pursuit of excellence does not need justification - Mitchell Hashimoto.
Y gracias a la nueva obsesión de DHH con Linux y Omarchy, varios proyectos impresionantes que casi no tenían apoyo financiero
ahora sí cuentan con él. Esto les permite a varios desarrolladores, que donan su tiempo para que tengamos mejor software
en nuestras computadoras personales, compartir su generosidad y conocimiento con el mundo sin tener que hacer grandes
sacrificios en su vida.
It’s always darkest just before dawn
Estamos siendo bombardeados por noticias de despidos masivos, industrias siendo destruidas y futuros donde todos
seremos reemplazados por dioses máquina que nos quieren destruir, creados por unos pocos titanes de la industria que se
van a asegurar de que todos los que no estemos construyendo el Basilisco de Roko nos quedemos en una eterna underclass
de la que nunca podremos salir.
DHH, con sus proyectos, está demostrando que el futuro que se está construyendo aumenta la demanda de artífices del software.
Omarchy Quattro fue construido con agentes, pero con su explosión en popularidad han tenido que traer más
colaboradores al proyecto, no menos.
p(bloom) > p(doom) - DHH
Amateur Philosophy from an Engineer

… es momento de una confesión, yo también he pasado por momentos de ira similares e incluso me he metido en
aprietos en el trabajo por esto mismo, por cuestiones relacionadas con la mal llamada inteligencia artificial, las
prácticas de las compañías que producen los modelos de frontera, las narrativas que usan para forzar regulatory
capture y/o generar entusiasmo entre los inversores.
Sin tomar en cuenta las reacciones emocionales por picar en el ragebait que dejan los engagement farmers en todas
las redes sociales. Ahora su eval favorito en redes es compartir juegos supuestamente generados con un solo prompt
a uno de los modelos más poderosos del mercado, junto con sus alegaciones de que la ingeniería de software y la
programación como carreras están muertas.
Estos son comportamientos que Eiichiro Oda ha parodiado o usado como tácticas de sus antagonistas en One Piece…
…DHH, en su forma de expresarse en la keynote del Rails World 2026, usó el lenguaje de los timadores de internet
para forzar discusiones y generar publicidad para el evento de Rails World. Además de generar nuevas narrativas
en el mundo de la programación. Porque en 37Signals son unos genios del marketing y unos software engineers
superpragmáticos. Y hoy en día DHH es más que consciente de su posición como una de las grandes voces en el mundo
de las startups y la tecnología. Él dice algo y sabe perfectamente que nuestras cámaras de eco se convierten en
un megáfono con el cual él puede experimentar.
Así como somos analíticos con los problemas a los que nos enfrentamos cada día, tenemos que ser analíticos con
las narrativas que se forman a nuestro alrededor, sobre las cuales construimos nuestra identidad, y con la forma
en que muchas personas e intereses las usan para generar o capturar dinero explotando nuestra atención.
Porque todas las personas que vivimos terminalmente en línea tenemos que comprender que vivimos en los campos de
batalla subsidiarios de muchas guerras: corporativas, ideológicas, culturales y reales. Algo que Hideo Kojima nos
estuvo advirtiendo desde hace al menos 2 décadas.
Sé que soy un hipócrita hablando de los males de la economía de la atención y compartiendo sus productos, pero
abrirse espacio entre el ruido y encontrar información relevante es una habilidad indispensable de cualquier
general. Y nosotros mismos somos los generales de nuestras vidas…
Diario de Gustavo #1, p. 180 - p. 181
Personalmente sigo creyendo que la era agéntica está más relacionada con la era de la GUI y el ratón desde el punto
de vista tecnológico, porque ahora se ha desbloqueado toda una nueva cantidad de formas distintas de interactuar con las
computadoras, el software y nuestra información que hemos estado persiguiendo desde hace décadas. Porque ahora gran parte del
poder que existe en los sistemas operativos de nuestras computadoras, organizaciones, bases de conocimientos y documentos
ha sido democratizado por una nueva forma de input mucho más accesible.
La belleza de este nuevo paradigma no es algo que podamos entender en este momento, ya que estamos viviendo un cambio similar en
impacto al del paradigma de interacción que masificaron el Macintosh y el IBM PC de la mano de Windows en los años ochenta.
Porque aunque el internet y el teléfono inteligente cambiaron nuestro mundo, la computación se ha mantenido en el mismo
paradigma de interacción desde esa época.
Porque ¿qué es la generación de código con modelos y agentes de inteligencia artificial sino una nueva evolución de
IntelliSense, templates de boilerplate y documentación inline que nos permite expresar nuestras intenciones para obtener
una aproximación a la solución del problema que estamos explorando?
Cortana: Your architecture isn’t much different from the Autumn’s…
Master Chief: Don’t get any funny ideas.
Revisión lingüística y de estilo con ayuda de GPT 6 Astra.