Entradas

Nuevas opciones de KBDoctor para GeneXus

Imagen
  En las últimas incorporaciones a KBDoctor estuve cambiando en tres áreas: modernización de Web Panels, análisis de modularización y mantenimiento de la Knowledge Base. Estas son las nuevas opciones disponibles. UI y frontend Web forms using Abstract Editor. Permite seleccionar varios Web Panels y convertir los formularios que aún usan el editor HTML al editor abstracto. Ajusta MasterPage y Style a Default, admite reemplazos de clases definidos en un archivo y muestra un reporte con los objetos modificados y los errores. Omite los objetos generados por patterns. Improve control classes. Aplica reglas de clases CSS a controles y columnas de grillas. Puede reemplazar una clase, volver a la clase por defecto o asignar clases según el tipo de control y características como la cantidad o longitud de las columnas. Las reglas se leen de un archivo y los cambios quedan registrados en un reporte. Audit Web Panels for Smooth UX. Analiza los Web Panels seleccionados y clasifica cuáles par...

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...

CODA-CLI en accion en KB GX18

Imagen
Problema En una KB grande desarrollada con GeneXus 18 surgió la necesidad de verificar que ninguna API pública estuviera exponiendo información sensible. Realizar esta tarea manualmente es costoso: la solución cuenta con más de un centenar de servicios publicados entre APIs REST, servicios SOAP y servicios HTTP. Revisar uno por uno sus parámetros de entrada y salida, además de las estructuras asociadas, puede demandar varios días de trabajo. Para este análisis consideramos como datos sensibles toda aquella información que permita identificar directa o indirectamente a una persona o a una organización. Datos personales Nombre y apellido Cédula o documento de identidad Dirección Sexo Edad Teléfono, correo electrónico, etc. Datos de empresas RUT Razón social Dirección Información de contacto Datos financieros Números de cuenta bancaria Tarjetas de crédito Saldos Otra información patrimonial Solución La solución fue utilizar GX for Agents  usando CODA-CLI para analizar la KB. Con un ...

Usando IA para detectar problemas de performance en aplicaciones GeneXus

Imagen
En aplicaciones grandes desarrolladas con GeneXus, detectar problemas de performance puede ser una tarea compleja. Los logs generados con log4net contienen muchísima información valiosa, pero leerlos manualmente no escala. En este post te comparto una metodología práctica para analizar estos logs utilizando NotebookLM , aprovechando su capacidad de entender documentos y responder preguntas sobre ellos. Idea general La propuesta es simple pero poderosa: Convertir los logs de ejecución en documentos (PDF) Subirlos como fuentes a NotebookLM Hacer preguntas inteligentes sobre el contenido Obtener insights de performance automáticamente Esto transforma un análisis manual tedioso en un proceso asistido por IA. Paso 1: Generar los logs correctamente Asegurate de que tu aplicación GeneXus esté generando logs con suficiente detalle (al menos DEBUG). Yo lo uso asi:  Un formato típico de log4net (es el default que trae GX) que funciona muy bien es: %d{yyyy-MM-dd'T'HH:mm:ss.fffzzz} [%t] %-...