Entradas

COLEBus - Genexus Smart Devices Challenge

Imagen
Artech organizó una competencia para quienes quisieran probar la  versión GX Evolution II desarrollando una aplicación para dispositivos móviles (iPad, iPhone, celulares/tabletas Android, Blackberry) . En Concepto , decidimos participar, para competir, que siempre es lindo y ademas para sacarnos de la zona de confort de desarrollo y forzarnos un poco en el área del desarrollo para plataformas móviles que no es nuestro fuerte y que vamos a tener que usar en el futuro. Hay mucha gente que esta mas avanzada que nosotros en el desarrollo de este tipo de aplicaciones, por lo que no  tengo demasiadas esperanzas de ganar, pero creo igual que la experiencia va a ser muy positiva, como lo ha sido en otras oportunidades. Teníamos que elegir una idea para implementar y queríamos que fuera algo que nos permitiera utilizar la mayoría de las funcionalidades de las plataformas móviles (GPS, tomar fotos, notificacio...

Curriculum Vitae

Imagen
En varias oportunidades me ha tocado hacer selección de personas para trabajar en Concepto y también me han pedido sugerencias o referencias para trabajar en otras empresas del rubro informático. Lo que cada integrante dice que hizo, es importante, pero tambien se toma mucho en cuenta, la participacion de las personas en redes sociales, proyectos open source, foros de discusion y demas. Porque digo esto? Por que algunas oportunidades, he visto a personas que son muy capaces técnicamente comportarse como inadaptados en los medios. Esto puede perjudicarlos en el futuro, cuando intenten conseguir trabajo en otras empresas. Si estoy eligiendo una persona que va a estar en contacto con clientes, no quiero a alguien que pueda dejar una mala  imagen de la empresa, por lo que posiblemente no contrate a las personas que no saben expresarse correctamente o  insultan cuando se comunican con otros. Por eso, como recomendación a todos lo...

De programador a habil declarante.

Dentro del desarrollo de aplicaciones, las herramientas utilizadas están en permanente evolución. Todos tratan de crear herramientas que hagan mas fácil crear programas mas rápido y mejor, de forma de hacer mas productivos a quienes desarrollamos aplicaciones.  En dicha tendencia, se destacan las que permiten trabajar con modelos donde la realidad se modela (valga la redundancia) declarando parte de la misma con un lenguaje especifico para dicha realidad. Tomando por ejemplo GeneXus que es la herramienta que utilizo, en la misma se esta viendo clara esta evolucion. Lo que sigue son algunos ejemplos de dichos modelos a traves de las diferentes versiones. Al principio, se tenían Transacciones. En las mismas se modela varias cosas, pues tiene por un lado estructuras (que definen a traves de un proceso de normalizacion, la estructura de la base las tablas de la base  de datos), pantallas (donde se dice como se va a mostrar estos d...

La productividad en tiempos de Twitter.

Imagen
Si bien soy usuario de varias redes sociales (Facebook, Linkedin, etc) la única que uso en forma consistente es Twitter. Lo empece a usar en Abril del 2007 (soy el usuario @ealmeida  # 3.248.201)  y en el primer momento si bien me pareció una idea interesante, no logre encontrarle utilidad.  En ese  momento no había demasiada gente de mi entorno y mi comunidades para seguir por lo que lo que se podía consumir eran contenidos bastante genéricos. Ademas me parecía que tener mensajes cortos de 140 caracteres que uno leía en forma aislada, carente de contexto, no resultaban fáciles de interpretar. Con el correr del tiempo empezaron a aparecer mas personas que usan Twitter y entonces la cosa empezó a tener mas sentido y se volvió mas útil. Al tener una red amplia de gente que le interesan temas similares, cuando alguien detecta una noticia interesante se la muestra al ...

Por que no hay betatesting de GXServer?

Imagen
  GeneXus Server es un producto que facilita el desarrollo de aplicaciones grandes en grupos de desarrollo numerosos con GeneXus. Con estas características, es un producto que va a ser cada día mas critico en el desarrollo para empresas grandes. Por todo esto, me llama la atención, que Artech no habilite en paralelo con la versión GeneXus X Evolution 2, una versión de GeneXus Server como beta. Hoy no se puede desarrollar con GeneXus Evolution 2 y subir a GeneXus Server, pues da errores por diferencias en las versiones. Por lo tanto, cuando este pronta dicha versión, creo que GeneXus Server va a estar bastante menos testeado. No seria bueno tener una versión GeneXus Server en Beta?. Es todo una cuestión de costos/beneficios, pero desde mi punto de vista, estaría bueno tenerlo. Manejo de Versiones en el servidor. En otro tema, creo que seria muy deseable poder tener diferentes versiones de GeneXus en...

GeneXus - Salvar reorganizaciones para posterior ejecución.

Imagen
Una cosa que creo que le esta faltando a GeneXus, es una  MSBuild Task para salvar todo (y solo) lo necesario para ejecutar una reorganización en las diferentes plataformas para los que genera GeneXus.  A mi me gustaría que se pudiera crear un directorio con la fecha y hora de la reorganización y que en el mismo se salven todos los programas, bibliotecas, drivers, archivos de configuración necesarios para poder ejecutar dicha reorganización.  Si bien ya hay algunos utilitarios para algunas plataformas (por ejemplo para .NET ya existe el Csharp xcopy Deployment  que es muy bueno), creo que debería generalizarse. De esta forma, aunque no conozca como funciona java o ruby, también pueda hacer un export de dichas reorganizaciones.  Ademas podría ser el primer paso para tener mas herramientas de deployment, que le están faltando a GeneXus. 

Agenda Digital Uruguay 2011-2015

AGESIC publico la Agenda Digital del Uruguay para los años 2011 y 2015 . Creo que si se logra alcanzar los 15 objetivos, podemos posicionarnos bastante mejor para crear una sociedad mas informatizadas y tener todos mejores servicios por parte del gobierno. En particular a Concepto nos tocara ayudar en el Objetivo 11 b) Contar con la Ventanilla Única de Comercio Exterior en funcionamiento y también en Objetivo 10 c) Contar para el 2012 con la infraestructura de claves públicas nacionales (PKI) en funcionamiento, compatible con las normas establecidas a nivel del Mercosur La Lista completa de objetivos es: Objetivo 1: Internet para todos Objetivo 2 : Despliegue nacional de la Televisión Digital e interactiva Objetivo 3: TIC para la Educación Objetivo 4: Educación en TIC Objetivo 5: Habilidades para una ciudadanía digital Objetivo 6: Preservar el acervo cultural en una nación diversa en el marco del Bicentenario Objetivo 7...

Algunas cosas que me enojan de GeneXus.

Imagen
Cuando programo con GeneXus hay algunas cosas que me hacen sacar canas verdes. * 1) Punto y coma al final de las reglas. Muchos objetos que solo tienen una rule parm() y de cualquier forma me pide que ponga un ";" al final. Siempre, siempre, siempre me olvido de ponerlo y creo que a esta altura, podríamos lograr separar los renglones de otra forma. Cuando me olvido de poner el ; me sale el mensaje error: Missed ';' at the end of the rule. (Rules, Line: 8, Char: 1) Si GeneXus sabe que falta un ; al final de la linea 8, no puede agregarlo en forma automática? 2) where Att = &Var when not &Var.IsEmpty() Me gustaria poder escribir esto en menos letras, pues es muy comun. Algo asi como Att ~= &Var o WhereEqual(Att,&Var) que significa lo mismo que lo anterior. 3) Not &Attribute.IsEmpty() Las dobles negaciones siempre me complican la logica. Me gustaria mas un &Att.NotEmpty() 4) &FechaInicial <= Fecha AND Fecha <= &FechaFinal Me gusta...

Firma Digital: Certificados empresariales en Uruguay.

Empiezo con una anécdota. Era el fin del año 2000, veníamos de migrar un sistema grande de Visual FoxPro a GeneXus en los años anteriores. Si la memoria no me engaña, trabajábamos con GeneXus 7.0. En ese momento, nos habían pedido empezar a usar firma digital. La idea era poder asegurar que un envío electrónico era de una empresa y que no había sido modificado. Y tambien que cuando hubiera un jucio poderle explicar al juez que lo que se firmaba electronicamente valia igual que una firma en papel. Hicimos el desarrollo y la parte que me toco a mi era programar con la CryptoAPI de C++ para poder firmar y verificar firmas con certificados digitales X.509. No soy bueno programando en C++ por lo que me dio bastante laburo llegar a usar la CryptoAPI, que no era de las cosas mas amigables que Microsoft ha diseñado. Cuando teníamos todo el desarrollo terminado, habíamos realizado prototipos, llegamos a la etapa de puesta en producción. En ese momento, los certificados que emitían las autorida...

GeneXus: Comentarios en el código como notas al pie o referencias.

Imagen
Los comentarios en el código, si estan bien pensados, ayudan muchísimo a entender el funcionamiento de los programas. También es cierto, que el tener mucho comentario a veces dificulta visualizar lo que el programa esta haciendo. Una de las cosas que me gustaría tener en el editor de codigo GeneXus seria la posibilidad de "esconder" los comentarios a demanda. En realidad, me gustaria que los mismos quedaran como referencias o notas al pie como por ejemplo que el codigo: for each //Identifico clientes deudores de los meses anteriores ..... endfor se pueda ver de la forma: for each [+] ...... endfor Seria hacer con los comentario de linea // algo parecido a lo que hacen con los comentarios de bloques /* */ Algunas otras características deseables de los comentarios serian: 1) Guardar usuario, fecha y hora de realizado el mismo (en el mismo comentario) 2) Mostrar con un tooltip el comentario cuando paso el mouse sobre el comentario resumido. 3) Tener una opcion que permita ve...