Entradas

Mostrando las entradas de agosto, 2026

Experimento de generando una cancion (letra y musica)

Tenia 15 minutos de espera para que terminara una tarea en una KB grande, y me propuse probar la generacion de una cancion.  Mi idea era probar con un tema ridiculo y ver cual era el resultado.  Le pedi a la misma IA que me generar una letra y un prompt para music y luego se lo pase a Suno.  Me genero en menos de 5 minutos 4 versiones gratuitas, que se pueden escuchar aca Version 1 y Version 2 Version 3 y Version 4 (con suno preview) [Title: ¿Quién va a programar?] [Verse 1] Cuando la IA programe noche y día Cuando un agente escriba la rutina Cuando el Copilot corrija la sintaxis ¿Quién va a sentarse entonces a programar? [Verse 2] Si globalizan todos los lenguajes Solo habrá prompts generando ensamblajes Sin esa magia de pensar la lógica El código del mundo lo hará una IA [Chorus] ¿Quién va a programar? ¿Quién va a debuggear? ¿Quién va a entender por qué falló producción? ¿Quién va a programar? ¿Quién va a diseñar? ¿Quién va a decirle al agente qué hay que hacer? [Ver...

.NET 8 llega al fin de su soporte: es hora de preparar la migración de las aplicaciones GeneXus a .NET 10

Imagen
  Hay una fecha que quienes mantenemos aplicaciones GeneXus sobre .NET deberíamos marcar en el calendario: 10 de noviembre de 2026. Ese día Microsoft finaliza el soporte de .NET 8 , actualmente una versión LTS —Long Term Support— muy utilizada en aplicaciones empresariales. A partir de ese momento las aplicaciones seguirán funcionando, pero Microsoft dejará de proporcionar actualizaciones de seguridad y soporte para esa versión. La versión LTS que la reemplaza es .NET 10 , liberada por Microsoft en noviembre de 2025 y con soporte previsto hasta noviembre de 2028. Para quienes desarrollamos con GeneXus, esto significa que durante los próximos meses tendremos que planificar la migración de nuestras aplicaciones. Pero el camino depende bastante de dónde estemos hoy. GeneXus y la evolución de .NET GeneXus viene acompañando la evolución de la plataforma .NET desde hace muchos años. Con GeneXus 18 Upgrade 7 , liberado en diciembre de 2023, GeneXus incorporó la generación para .NET 8 . Al...

Spec-Driven Development: casi 40 años después, volvemos a empezar por la especificación

Imagen
Estoy leyendo un libro corto sobre Spec-Driven Development , una forma de desarrollar software con Inteligencia Artificial que propone algo que, a primera vista, parece bastante moderno. En lugar de empezar escribiendo código, se comienza describiendo qué sistema queremos construir. Se definen los requerimientos, el modelo de entidades, los casos de uso, las reglas, las restricciones y los criterios que debe cumplir la aplicación. Esa especificación —la Spec — pasa a ser uno de los principales artefactos del proyecto. A partir de ella, los agentes de IA pueden generar código, pruebas, documentación y realizar verificaciones para comprobar que lo implementado cumple con lo especificado. Mientras leía esto tuve una sensación curiosa: esto me resulta muy conocido. Mi proyecto de grado, a finales de los 80 A finales de los años 80 hice mi proyecto de grado en la Facultad de Ingeniería de la Universidad de la República. En aquella época, antes de comenzar a programar, nos exigían preparar u...

De un Pattern a un Skill: cuatro años de evolución en la productividad con GeneXus

Imagen
En  2022 publiqué Entity Provider Pattern . La idea era sencilla de explicar, pero bastante más difícil de implementar: dada una entidad representada por una Transaction GeneXus, generar una capa uniforme para consultar y modificar sus datos. El objetivo era evitar que cada desarrollador resolviera una y otra vez las mismas operaciones: Obtener todos los registros o una lista paginada. Consultar por clave o por otras condiciones. Verificar si una entidad existe. Insertar, modificar y eliminar mediante el Business Component. Publicar esas operaciones mediante un objeto API. Mantener una interfaz similar tanto para el acceso local como para el remoto. El ejemplo del artículo utilizaba una Transaction Customer y proponía generar Data Providers, Data Selectors, Procedures, SDT y un objeto API con operaciones como GetAll , GetByKey , Exists , Insert , Update y Delete . La intención no era solamente ahorrar algunas líneas de código. Buscaba definir una forma consistente de acceder a la...