Entradas

Mostrando las entradas de octubre, 2008

Modelos a traves del tiempo

En este pequeño video se explica como han avanzado los modelos a traves del tiempo y nombra los componentes de Microsoft Oslo .

Consumir RSS con usuario y contraseña

Imagen
Hay muchos feeds que tienen autenticacion, o sea que piden usuario y contraseña para poder ver el RSS. Un ejemplo claro es el de un wiki o un blog que esten instalado en una intranet para un grupo de trabajo limitado. Por ejemplo, en Concepto tenemos Wikis de uso interno donde todos los integrantes de Concepto pueden escribir y leer, teniendo su usuario/contraseña, pero no estan abierto a publico en general. Que pasa entonces si queremos leer los cambios a traves de lectores de RSS, como por ejemplo el Google Reader ?. Muchos de estos lectores, no soportan feeds con usuario/contraseña. Para solucionar este problema, se puede usar el servicio FreeMyFeed , que es gratuito y permite registrar una URL, poner el usuario y contraseña una vez, y con eso genera una nueva URL encriptada que permite la lectura de dicho RSS. Si se quiere agregar otro nivel de control, se puede pasar por FeedBurner , de forma que si despues se cambia el usuario y la contrseña, no tengan que cambiarse las suscripci

En busca de un Dynamic Combobox mas polenta.

Imagen
Muchas veces los Dynamic Combobox de GeneXus me ponen de mal humor.  Quiero que quede claro, en el caso general, funcionan muy bien... Ahorran muchisimo tiempo, son rapidos y faciles de codificar.  El caso que me preocupa, que cada vez lo veo con mas frecuencia es el siguiente:  Tengo una tabla de Clientes *ClienteId ClienteNombre ClienteActivo (S=Activo, N=NO Activo).  Los clientes activos son los que me compraron en el ultimo año.  En el 99% de los casos en mi aplicacion me va a interesar mostrar solo los clientes activos, pues es a quienes les vendo y la inmensa mayoria de las consultas que realice van a ser sobre estos clientes.  Para lograr esto, puedo definir un Dynamic Combobox, que tenga la condicion  ClienteActivo='S'; De esta forma, me mostrará una cantidad de clientes mucho menor, ayudando a mis usuarios a comenter menos errores y ademas mejorando la performance de la aplicacion que tiene que recuperar menos registros en la base de datos y se reduce el código HTML tr

SOAizando aplicaciones GeneXus

Imagen
Desde hace un tiempo venimos incorporando a nuestros sistemas algunas de las ideas que trae SOA ( Service Oriented Architecture ) y estudiando algunas de las cosas nuevas que vienen adosadas al nuevo paradigma, como BPEL , ESB y demas mojos.  El uso de algunos web services para conectar aplicaciones es algo que no es ninguna novedad, pero cuando se empiezan a tener varios y en funcionalidades cada vez mas críticas de nuestros sistemas, nos obliga a encarar la cosa con algunas otras herramientas.  Una de la que estamos tratando de resolver en estos dias es el tener un  registro (o auditoría) del uso que hacen los externos de web services brindados por nuestro sistema.  Se deben brindar información usable por algunos usuarios autorizados del sistema, que puedan ver quienes esta utilizando el sistema, en que momento nos llegan los requests, cuanto demoramos en responderselo y que le respondemos.  Diciendolo de una forma sencilla, necesitamos registrar:  Quien llama a determinado web serv

Rango de Fechas

Imagen
Esta sería la idea para un User Control de Genexus X .  Me gustaría contar con un control que maneje el ingreso de un rango de fechas en la pantalla.  En muchas aplicaciones, se necesita ingresar una FechaInicial y FechaFinal y para obtener los registros que se encuentran en dicho rango de fechas.  Para que sea util hay hacer algunas validaciones como que FechaInicial <= FechaFinal.  Generalmente ocupa mucho lugar en la pantalla, pues tiene dos variables y dos boton o links paa los calendarios y muchas veces hay dos etiquetas, una para la fecha inicial y otra para la final.  Estaria bueno poder tener en el mismo control algunos chiches adicionales, como permitir algunos valores "especiales" que se tienen muchas veces en la aplicación, como pueden ser:  lo que va del año actual Ultimos 12 meses Ultimo año movil Mes actual Ultimo mes Hoy Ultimo semestre Ultimo trimestre Que el rango no sea mayor a X dias etc Al tener un User Control que haga esto tendriamos las ventajas:  O

Como defragmentar indices en GeneXus X.

Imagen
Ahora que las bases de conocimiento no estan mas en ctree, no se puede correr un rebuild de los indices, como haciamos antes, sino que hay que hacerlo con SQL server. Una forma facil de hacerlo (sacado de los Books Online de SQL Server 2005) es ejecutar el siguiente script, que lo que hace es defragmentar todos los índices que tengan una fragmentacion mayor al 30% (es la variable @maxfrag que se puede variar a gusto). /*Perform a 'USE ' to select the database in which to run the script.*/ -- Declare variables SET NOCOUNT ON; DECLARE @tablename varchar(128); DECLARE @execstr varchar(255); DECLARE @objectid int; DECLARE @indexid int; DECLARE @frag decimal; DECLARE @maxfrag decimal; -- Decide on the maximum fragmentation to allow for. SELECT @maxfrag = 30.0; -- Declare a cursor. DECLARE tables CURSOR FOR SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'; -- Create the table. CREATE TABLE #fraglist ( ObjectName char(255),

Nombre no apropiado para un hijo

Imagen
Este es uno de los motivos, para no ponerle "Robert'); DROP TABLE students;--" como nombre a tu hijo. Es un chiste bastante nerd. 

MSbuild Extension Pack.

Imagen
MSBuild Extension Pack es un conjunto de mas de 170 MSBuild task, que pueden servir mucho para automatizar tareas de generacion/compilación/deployment de aplicaciones Genexus. Por ejemplo, estaría bueno poder generar todo de noche, armara la solución, corra los prueba de humo y que reportara por mail los errores introducidos. Esta extensión agrega tareas para : Envio de mail Console (beep y leer una entrada desde la consola) Manejo de Date and Time, Manejo de archivos y directorios (calcular checksum de archivos) Comparar/remplazar strings Cambios a la Regsitr Compresion de archivos (zip/cab) Ping Iniciar o finalizar servicios de windows Reproducir sonidos (una sirena si no termina bien el build!!) Sumar, restar, multiplicar, dividir y comparar numeros Manejo de certificados X.509 Crear application pool y websites en IIS7 otras mas... Con todas estas tareas, es mas fácil automatizar muchas tareas de las que se necesitan para hacer un armado nocturno (night build) e intergración conti

ISO 9001:2000 - Sirve para una empresa de software?

Imagen
Me realizaron esta pregunta hace unos días y la respuesta no es obvia para mi.  En primer lugar hay que tener en claro que no hay una empresa de software genérica, pues dentro del software, hay productos que tienen grandes diferencias funcionales y criticidad.  Lo que puedo opinar es sobre Concepto que es una empresa que tiene algunos desarrollos mas o menos productizados y son usados por algunas empresas de america latina. Estamos certificados desde el 2003. Que es ISO 9001:2000?.  Son un conjunto de normas , que rigen la forma en que las organizaciones que las cumplan, deben crear su sistema de gestión de calidad.  En ellas se establecen que controles son obligatorios para los procesos de la empresa, que hay que hacer determinadas mediciones, chequeos con los clientes, etc.  Originalmente se aplicaban a empresas industriales, por lo que adaptarlas a empresas de servicios o desarrollo de software era bastante traumatico, cosa que mejoró muchisimo con la version del año 2000.  Para cu

Intercambios de informacion entre aduanas.

Imagen
En estos dias, estoy participando en una reunión de las aduanas del mercosur donde se acuerda el intercambio de información de transitos internacionales, en Foz de Iguazú, que es un punto que que les queda cerca a muchos de los participantes y además es muy lindo.  Las aduanas del mercosur, ademas de ser fuente de noticias ( PY , AR , BR , UY )  también hacen cosas interesantes desde el punto de vista tecnológico y manejo de información. Ahora están elaborando un proyecto de intercambio de informacion basados en web services con seguridad, de forma de poder cruzar información de mercadería que sale de un país, con la que se declara como entrada en otro.  Es un proyecto de los considerados "divertidos".  Discutir entre Brasil, Chile, Argentina, Paraguay, Bolivia, Venezuela y Uruguay, sobre namespaces, WSDL, cirptografía, seguridad y ponerse de acuerdo, es todo un reto...

El dia que lei todos los mails que llegaron al Uruguay.

Imagen
Corría el año 2 antes de Windows. Yo trabajaba en la Facultad de Ingeniería altenando entre Investigación Operativa y el Centro de Calculo.   En el Centro de Calculo habia computadoras PCs 80286 (eran de avanzada) y tambien varios Pcs 8086/88 y un mainframe que estaba en sus ultimos estertores , en los que trabajabamos.  En un momento, le asignaron a la Faculta de Ingenieria, el privilegio y el honor de conectarse a un cosa nueva que estaba apareciendo, que después iba a llamarse internet.  Al principio, la conexión se utilizaba para el intercambio de correos electrónicos. El procedimiento de conexión, se ralizaba dos veces por dia, a traves de una llamada telefónica, a Universidades de Brasil o Argentina.  En ese momento, se recibían todos los emails que llegaban a Uruguay y despues se enviaban todos los que salían del pais.  Como el corte de la llamada internacional no estaba automatizado, el programa que recibia y envia los mails, mostraba por la pantalla el contenido de los mails,

Me regalaron este reloj...

Imagen
Martin , me regaló este reloj en Facebook..  Se podrían haber inspirado un poquito mas con algunos numeros, pero igual esta bueno.  Gracias!.

Amazon se instala en Costa Rica

Leo en el articulo  Amazon empezará operación en noviembre y contratará a 700 personas , que Amazon va a instalar un centro de atención al cliente en Costa Rica. Es bueno que este tipo de empresas se instalen en America Latina y seria mejor aun, que empiece a instalar alguno de sus datacenters en esta zona.

Bloque y Bloquecito - Arreglando bases de datos con programas C

Imagen
Corrían los primeros años de los 90, y estábamos trabajando con Raúl y Gustavo en una empresa que tenía una red de 9 equipos  VAX/VMS , conectados en una WAN que cubría algunos departamentos de Uruguay.   Las aplicaciones estaban programadas en  COBOL  y usaban una base de datos de Digital que se llamaba RDB. La interfaz de usuario era de sólo texto y se ejecutaban en terminales VT320, las cuales era terminales tontas. Recuerdo más de una vez, haber soldado los conectores a los cablecitos. El soldador y el estaño, estaban en todos los lugares donde había terminales.    Después de algunos años de encargarnos del desarrollo de un grupo de empresas habíamos logrado una automatización bastante buena. Teníamos scripts que corrían de noche y compilaban todo lo que se había modificado en el día, avisaban cuando algo daba errores.    Como dije antes, usábamos  RDB  que fue una base de datos relacional, que era buena, pero muuy lenta. Usaba SQL y otro dialecto anterior (RDO) para la con

Amazon EC2 permitirá subir aplicaciones ASP.NET a la nube

Imagen
Coming Soon: Amazon EC2 With Windows We're getting ready to enable the use of Microsoft Windows Server on Amazon EC2 later this Fall.You will be able to use Amazon EC2 to host highly scalable ASP.NET sites, high performance computing (HPC) clusters, media transcoders,SQL Server, and more. You can run Visual Studio (or another development environment) on your desktop and run the finished code in the Amazon cloud.The 32 and 64 bit versions of Windows Server will be available and will be able to use all existing EC2 features such as Elastic IP Addresses, Availability Zones, and theElastic Block Store. You'll be able to call any of the other Amazon Web Servicesfrom your application. You will, for example, be able to use the Amazon Simple Queue Service to glue cross-platform applications together.Existing EC2 tools will be able to launch Windows-powered EC2 instances. Once launched, you can use the Windows Remote Desktop or the rdesktop tool to access your instances. y tambien Windo

KB Grandes (2da. reunion)

Imagen
Hoy se realizó la segunda reunión del grupo que se ha dado en llamar "Sufridos Administradores de KB Grandes". Para mí fue muy buena reunión. Si bien al principio la cosa es un poco caotica, pues se plantean los temas un poco (bastante) desordenados, al ratito de estar conversando, empiezan a aparecer problemas comunes y diversas soluciones que otras personas han encontrado.  Algunos de los temas que se trataron :  Demoras al hacer especificaciones Demoras al generar algunos objetos Demoras al generar los MAK y RSP Demoras en las reorganizaciones  Subtipos y la demora especificar Analisis de Impacto que llegue hasta nivel de objetos Necesidad de sustituir un objeto por otro (por unificar dos atributos o dominios) SDT (su implementacion actual y evaluar posibles implementaciones futuras).  Programas de Redundancias Ciclo de prototipacion con KB grandes Ayudas para entender KB Grandes Modularizacion o dividir el problema de una KB Grande en problemas mas chicos Otras necesidade

Titulos de post en Montevideo COMM

Imagen
Le creatividad y el humor de quienes piensan los títulos de los post en Montevideo COMM es realmente envidiable.   Solo como ejemplo, algunos de los últimos dias: Asado masoquistas (para una noticia de baja del precio de la carne) Con las Bolsas por el piso   (Plan de salvataje para Wall Street) Angelis y demonios  (Nueva huelga en el campo argentino) Árbitros agradecidos  (La Quebrada de los Cuervos protegida por ley) Mis kudos a ellos.