Entradas

La Misma Alienación

La Misma Alienación Emiliano , El Alemán Se levantaba siempre primera Invierno, otoño y en primavera Dotada de estrategias sin final Yo nunca me quería levantar Mi madre me mandaba a la escuela Merienda en bolsa, pan con manteca Yo tuve quien me dijo: "eso está mal" Quien me enseñara un caminito para andar Hay quien no podrá sentir lo mismo Derrumbándose al abismo, sin motivo ni razón Si solamente como el resto de la gente Refleja lo que aprendió Sin ir a la escuela, sin tener la panza llena Si no hay nadie que te explique cómo es Lo que te muestran de botija Como malo o como bueno, lo aprendés Lalala-lalalayla-lalayla Lalala-lalalayla-lalayla Larala-lalalala-lalala Larala-lalalala-lalala Lalala-lalalayla-lalayla Lalala-lalalayla-lalayla Larala-lalalala-lalala Larala-lalalala-lalala Nunca pasé hambre, siempre tuve a quien llorarle Y yo no sé lo que es dormir el hormigón Por eso, es triste cuando alguno con soltura Y en muy buena posición Juzga a otro' gurice', pues, s...

Ser Familia Amiga

Imagen
Hace poco más de un año, Matilde y Mariana propusieron un proyecto familiar para tratar de devolver un poco de todo lo que la sociedad uruguaya nos ha dado y ayudar a algún bebé que no tuviera la suerte que hemos tenido nosotros.  Para esto, nos contactamos con la  Fundación MIR  que se focaliza en ayudar a bebes de 0 a 12 meses que pierden o ven interrumpido los cuidados de sus familias de origen. Una de las opciones que nos presentaron, era ser   Familia Amiga del INAU , que consiste en llevar un bebé a casa durante el tiempo que se necesite (generalmente son 4 o 5 meses, con un máximo de un año) hasta que vuelva con su familia de origen o que la justicia determine que sea adoptado.  Desde el principio nos aclararon que era algo temporal, pues al ser Familia Amiga, no se puede estar en el Registro Unico de Aspirantes, donde hay que inscribirse para poder adoptar a niños en Uruguay.  El 23 de Diciembre de 2020, tuvimos la primer entrevista en el INA...

GeneXus, aplicaciones complejas y futuro

Imagen
La sensaciones que tengo para los próximos años: Se necesitarán mas aplicaciones Los problemas que resuelven estas aplicaciones son cada vez mas complejos, lo que necesitan aplicaciones sofisticadas.  Hay escasez de gente con capacidad para hacer estas aplicaciones Las aplicaciones ya dejaron de tener escala humana (no hay una persona que entienda toda la aplicación) y ya están dejando de tener escala empresa (las futuras aplicaciones seran desarrolladas por muchas empresas).  Tomando esas sensaciones como hipótesis de trabajo, veo a la comunidad GeneXus bastante bien posicionada, pues tenemos herramientas como para hacer las aplicaciones que se necesiten.  También veo que no tenemos la escalabilidad suficiente para captar una parte importante de los proyectos que se presentarán en el futuro.  Sabemos resolver problemas a escalas pequeñas, pero nos cuesta reproducir estas experiencias.  Siento como que somos Tesla, pero sin las Gigafactory, con un producto que l...

AMA: Knowledge Base Modeling for Mission-critical Systems

Imagen
  Ayer se realizó un WEBINAR donde se pueden hacer preguntas y respuestas sobre como modelar aplicaciones de mision critica con GeneXus .  Recomiendo que tienen KB grandes vean los posibles evoluciones que puedan tener en el futuro dichas KB.  De cualquier forma hay varias preguntas que no quedaron bien respondidas, porque es muy dificil explicarlo en una hora.  KB Monolítica con una única base de datos, y una única instalacion KB Monolítica con una única base de datos, con instalacion en varias webapps o en cluster (divida con diferentes criterios) KB Monolítica modularizada con una única base de datos instalada en varias webapps o en varias máquinas (cluster)  Varias KB, con una única base de datos, instalada en varias  webapps o varias máquinas o serverless Varias KB, cada una con su base de datos independiente, que comparten algunas tablas, instalada en varias webapps o varias máquinas o serverless Varias KB, con ...

Escenarios de desarrollo con GeneXus e instalación en producción.

Imagen
Existen muchas forma de organizar el desarrollo de aplicaciones GeneXus. Esta variedad de escenarios, hace que a veces se dificulte el discutir sobre herramientas o procedimientos generales, pues algunos son buenos para un caso, pero no aplican o no son convenientes para otros escenarios.  Quiero hacer una lista de cada uno de los que tengo identificados, para tratar de explicar pros y contras de cada uno.  KB Monolítica - Empaquetado Monolítico - Instalación monolítica en una sola maquina Es ideal para aplicaciones chicas, que no tengan requerimientos grandes de escalabilidad. Permite mantener sencillo el desarrollo y es como conviene empezar todos los desarrollos.  El empaquetado es sencillo y la puesta en producción también. Hay que testear toda la aplicación para ponerla en producción.  KB Monolítica - Empaquetado Monolítico - Instalación en mas de un nodo con base de datos compartida Una unica KB, la cual se empaqueta en un único package, pero se instala en mas ...

Cambiar de versión de GeneXus: Que preguntas debo hacerme?

Imagen
Problema: Tengo una KB Genexus y la estoy generando con la version N (sin errores y esta en producción) y necesito parasarla a la version M con M > N.  Antes de cambiar de versión, intento siempre contestar las siguientes preguntas.  Los usuarios van a poder ejecutar simultáneamente la version anterior y la nueva? Siempre conviene que los usuarios puedan seguir ejecutando por un tiempo limitado, hasta estabilizar la nueva versión, tanto la version anterior como la nueva. De esta forma, cada vez que aparece alguna dificultad o diferencia, se puede volver al sistema anterior y permitir que el usuario no se tranque en su trabajo. Este tipo de problemas, deberia tener una prioridad alta para su resolución pues el objetivo es sacar de produccion la version vieja lo antes posible.  Alguna funcionalidad del sistema anterior, no va a existir mas en la version nueva?  Si fuera asi, conviene evaluar si esta funcionalidad es indispensable y si asi lo fuera, hay que desarroll...

Pasar una KB de monolitica a servicios distribuidos

Imagen
Una de las tareas que tenemos por delante quienes desarrollamos con GeneXus desde hace mucho tiempo es pasar algunos de nuestros desarrollos que vienen de versiones anteriores de GeneXus en una KB monolítica, a varias KB interconectadas.  Los motivos de este cambio, no es caprichoso, sino que hoy que esta motivado por la necesidad de nuestros clientes de tener los cambios mas rapido y nosotros necesitamos instalar con mucha mayor frecuencia que lo que hacíamos antes.  En una KB monolítica, teníamos que esperar a tener TODO el sistema en un estado instalable, y los que desarrollamos sabemos que el tiempo de estabilización de los cambios para que sea instalable es proporcional a la cantidad de objetos, cantidad de desarrolladores y cantidad de cambios introducidos.  La mejor solución que ha encontrado la industria para este problema, es el clásico " divide & conquer ". Cuando tengo un problema grande que no puedo resolver en un tiempo limitado, es mejor dividirlo en pro...

LowCode - Es mas importante poder entender programas, que escribir poco código.

Imagen
 LowCode es una tendencia actual en el desarrollo de aplicaciones.  No es una tendencia nueva, pero es una buena categoría para agrupar herramientas y lenguajes que comparten características comunes.  Lo que me causa un poco de ruido, es que se ponga el foco en el código y en que el mismo sea poco, cuando creo que el foco debería ser diferente.  En vez de hablar de código, deberíamos hablar de PROGRAMAS y los programas pueden ser muchas cosas mas que código. Cualquier cosas que pueda crearse y ejecutarse debería ser considerado como cosas que deberíamos programar en los próximos años.  Pensemos en diagramas, audio con instrucciones, instrucciones biológicas tipo ADN/ARN y la metodología CRISP. No seria raro que aparezcan nuevas formas de programar con las computadoras cuánticas y otros modelos.  El codigo es solo una representación de los programas y es la mejor que tenemos en el momento, pero es bueno tener claro que no es la única y posiblemente en el fut...

IIS con autenticación con certificados de clientes (Autenticación mutua) - Error 403.16 Forbidden

Imagen
Necesitaba configurar un sitio con autenticación exigiendo certificados X.509 (del tipo del que contiene la actual Cedula de Identidad uruguaya). Los certificados son usados por la aplicación también para identificar que operaciones puede realizar dicho usuario y para firmar digitalmente operaciones que necesitan ser firmadas.  El sitio exigía https y certificados del lado del cliente (también llamada autenticación mutua), pues tanto el server como el cliente deben usar certificados para demostrar quienes son.  Hay una guia paso a paso cómo hacer esto en este link . La idea es que al intentar conectarse al sitio, presenta una lista de los certificados personales  que tengo instalado en mi maquina (o en algún otro repositorio local) de la forma: y luego desde la aplicación recuperar la información de dicho certificado, como por ejemplo a que empresa representa esta persona o que documento tiene la misma.  Para algunas aplicaciones este tipo de autenticación puede ahor...

Low Code y grandes aplicaciones

Imagen
Hace unos dias, me apreció en Twitter un aviso de strumenta, A guide to Low Code Platforms  donde dicen: A low-code (development) platform allows to create applications through graphical user interfaces and/or configuration instead of traditional computer programming. They can be a great tool for enterprise companies to reduce the cost of development mainly in two ways: by giving a software that non-developers can use to create apps tailored for their needs by giving programmers a system to quickly develop small applications En el post visualizan que Low Code es para hacer pequeñas aplicaciones dentro de las organizaciones.  Estoy parcialmente de acuerdo con lo que dicen, pues en esas areas es donde mas rapido se pueden adaptar las herramientas Low Code, pero donde se les puede aprovechar mas, es en las grandes aplicaciones.  La complejidad de los desarrollos actuales, es inabarcable para que las manejen pocos desarrolladores. Es necesario contratar a muchos especialista...