Entradas

Mostrando las entradas de noviembre, 2008

Hay pocas cosas que me calientan, pero justo ésta es una

Imagen
Los que te piden que llenes encuestas y no te mandan los resultados de las mismas
Los que piden entrevistas para tesis y luego no te mandan la tesis final  para que la leas
Los que mandan un mail pidiendo ayuda en algun problema de programación (de garrón)  y que ni siquiera agradecen cuando se lo respondes (le haya servido o no)
Los que leen cualquier blog, les sirven las soluciones que hay ahi, y ni siquiera se toman la molestia de poner un comentario contando como les fue
Los que dejan crecer el pasto en la vereda de su casa
El SPAMLos antispamLos que encuentran problemas y no los reportanLos que encuentran problemas, los reportan y pretenden que se los resolvamosLos que no juntan los papeles tirados en la puerta de su casaLos que arrojan por la ventana del auto todo lo que les molesta 

Kbsynchro - Open source.

Imagen
KBsynchro, es un pequeño utilitario que permite la comparacion y sincronización de dos KB GeneXus.
Su operativa es muy sencilla y limitada: Abre dos KB con GXPublicCompara las fechas de modificaciones y algunas otras características de los objetos. Lista las diferenciasPermite comparar los objetos con diferencias Permite distribuir/consolidar objetos en ambos sentidosPermite borrar objetos en las KB. IMPORTANTE:  Necesita tener instalado el .NET Framework 2.0 y J# Redistributable 2.0 para que no de errores al ejecutar.  Para generar planillas Excel hay que tener instalado MS Office 2000 o 2003. 
Porque Open Source? Es un utilitario muy chiquito (la kb del mismo tiene solo 11 objetos) que creo que puede ser útil a varios, pero también esta necesitando un poco de trabajo para hacer las cosas bien. Con no mucho esfuerzo se le pueden agregar algunas funcionalidades y estaría bueno si alguno mas pudiera meterle mano.
Que falta? Cosas a arreglar. Estetica y usabilidad (tiene una unica pantalla y…

KBSynchro

Puede haber novedades.. por ahora, solo un video. 




Para verlo a pantalla completa se puede ver en : http://www.screencast.com/t/upwXkcT7

ASP.NET Charting Control

Imagen
No mire la documentación aun, pero tiene buena pinta como para hacer un User Control.

Hay mas información y mas ejemplos ACA..

Modelos grandes - Entity Framework

Imagen
Leo en Working with large models in Entity Framework, en el blog de ADO.NET team blog, que hay gente que plantea problemas de performance cuando los modelos se hacen grandes. Me llamo la atención que consideren que es bueno pensar en dividir el modelo, cuando se tienen unas 100 entidades.... 
Working With Large Models In Entity Framework – Part 1We have seen quite a few requests coming in from various folks asking for some guidance on best practices around working with large entity models in an Entity Framework application. The following post tries to describe the typical issues you would face when using a large entity model and tries to provide some guidance that hopefully will help mitigate some of these issues.Issues with using one large Entity ModelThe easiest way to create an Entity Model today is through the Entity Data Model Wizard in Visual Studio by pointing it at an existing database. The experience is very straight forward if the database size is not too big. Of course ‘big’…

Design For Testability

Imagen
Leo un artículo interesante (introductorio)  en MSDN Magazine, donde recalcan que una de las mejoras de testear temprano y diseñar pensando en el testing, es el que se consigue codigo mucho mas facil de probar y hacerle debug. Esto parece una ventaja muy grande y es mi principal incentivo para poder incorporar metodologias agiles (TDD, DDD) en nuestro proceso de desarrollo. 
En el articulo tambien mencionan los principales problemas que se tienen al testear aplicaciones como las que hoy desarrollamos en Concepto, que son:
 el simular el funcionamiento de la base de datos para obtener resultados consistentes y rapidos chequear eventos externos (como el envio y recepcion de mail, webservcies, etc)
workflowsAlgunas de las conclusiones del articulo: 
Smaller tests are cheaper to create, easier to understand, faster to run, and much simpler to debug. It sounds like more work to write a bunch of unit tests than a single integrated test, but I've frequently found it more efficient to test sm…

Permuto Bytes por Buda

Imagen
Ayer hicimos una fiesta en Concepto (*) y despedimos a Carla, que decidió cambiar los for each por las oraciones a Buda. Su "emprendimiento" esta teniendo mucho éxito. 
En estos 15 años de trabajo en Concepto, hemos compartido muchas puestas en marcha de sistemas, instalaciones, capacitaciones y hasta charlas en el evento GeneXus. Me pone contento ver su evolución, ingresando antes de recibirse de Ingeniera en Sistemas, pasando por diferentes roles y ha podido encontrar el camino que le hace mas feliz en esta etapa de su vida... Además es bueno tener a alguien que pueda influenciar a los de arriba en las futuras reencarnaciones, porque me parece que mi influencia no va a ser demasiado decisiva.

Le pedí que cuando anexen un casino al templo budista (y de esta forma hacerle competencia de igual a igual al Conrad) me llame y paso unos días ahi. Me preocupa que ella dice estar a cargo de la cocina...


(*) Este año, fue fiesta con comida y ambientación mexicana, con mariachis y todo…

TOP, Binding y registros

Imagen
Estaba conversando con un amigo, sobre la necesidad que se nos han planteado en los últimos meses de contar en nuestras aplicaciones GeneXus con sentencias de SQL dinámico que se generen con variables y no con strings como lo hacen hoy (esta explicado con mas detalle en este post).
Lo que comentábamos era que pasamos muchos años sin tener for each con when (que es lo que genera el SQL dinamico). Desde hace unos años contamos con el when  y ahora nos surgen nuevas necesidades para agregarle variables, de forma de consumir menos recursos (CPU) para no tener que recompilar la sentencia cada vez que se ejecuta.
La pregunta obvia es: ¿Como nos arreglabamos antes?
Creo que hay varias respuestas. En primer lugar, las bases de datos tenian menos registros, por lo que era mas facil lograr que las aplicaciones funcionaran correctamente y que los servidores de base de datos bancaran la carga. 
Haciamos mas programas. El poder tener sentencias con diferente ordenes, con diferentes condiciones que pued…

Proyecto Testing Pacpymes

En el contexto del programa PacPymes, la CUTI decidió hacer un proyecto de ayuda a las empresas para mejorar los procesos de testing de las mismas.  Es interesante, pues participando nos pueden reembolsar  hasta un poco mas del 50% del costo del proyecto (hasta un maximo de 5000 euros).
En el comunicado que nos llego dice: 
"Cuti convoca a empresas interesadas en integrar proyecto asociativo y de mejora individual para la creación o fortalecimiento de sus áreas de testing. 

El proyecto se enmarca dentro del programa de fortalecimiento de la gestión e innovación empresarial de pymes exportadoras, desarrollado por el Programa de Apoyo a la Competitividad y Promoción de Exportaciones de la Pequeña y Mediana Empresa (Pacpymes) , de la Cooperación Unión Europea - Uruguay.

Los solicitantes deberán tener como actividad principal el desarrollo de software, cumplir con los requisitos de elegibilidad y aportar la contraparte exigida por el programa Pacpymes (más información). 

El porcentaje de …

RML Utilities for SQL Server

Imagen
En RML Utilities for SQL Server hay un conjunto de utilitarios para el procesamiento de archivos de trace (generado con el SQL Server Profiler) para SQL Server 2000, 2005 y 2008.

En la pagina que los explican dice:

You can use the RML Utilities for SQL Server to perform the following tasks:
• You can determine the application, the database, the SQL Server login, or the query that is using the most resources.
• You can determine whether the execution plan for a batch is changed when you capture the trace for the batch. Additionally, you can use the RML Utilities for SQL Server to determine how SQL Server performs each of these execution plans.
• You can determine the queries that are running slower than before.

Hay un utilitario que se llama ReadTrace, que permite cargar los trace y hacer unos lindos reportes.

Tambien hay otros utilitarios, que permiten ejecutar sentencias muchas veces y simular muchos usuarios, que puede ser muy bueno para hacer teste de cargas.

Links interesantes.

RML Utiliti…

Recital de Fernando Cabrera en el Solís

Imagen
Anoche fui a escuchar a Fernando Cabrera, al teatro Solis. Realmente muy recomendable.... Fue un recital bastante menos autista a los que nos tiene acostumbrados y sonó muy pero muy bien.

Hace poco me enteré que tenemos algún parentezco.

No tocó Disolvente, que me gusta mucho, pero tiene tantas canciones buenas que es dificil elegir unas pocas para un recital de hora y media.  Se puede escuchar acá.

Publicado en blog de Enrique Almeida.

PatternBuilder.

Imagen
Leo en el Wiki de la comunidad Genexus:


PatternBuilder
The Pattern Builder is a tool that is installed with the GeneXus X/GeneXus Platform SDK and is executed within Visual Studio.
The wizard provided in the pattern builder allows creating, in just a few steps, new patterns for GeneXus X .

The wizard prompts you for this information:

Objects to which the pattern will be applied
Objects to be generated
Then, it generates a Visual Studio project for creating the pattern, with all the xml files and the configured environment.Creo que es un buen paso para facilitar que el vulgo profano que no domina Visual Studio pueda desarrollar Patterns en Genexus.

Ejecutar comandos para todas las bases SQL server de un servidor

Imagen
Ahora que GeneXus guarda las KB en bases de datos SQL Server, se me multiplicaron la cantidad de bases que tengo que "administrar".  Hoy tengo 38 KB y algunas de ellas tienen la base de datos correspondiente al modelo.En total, tengo 62 bases de datos SQL Server. 

Mis tareas mas habituales de administración son : 
Backup
Chequear que no tengan problemas de integridad
Defragmentar los indices
Recuperar el espacio no utilizado dentro de los archivos de la base de datos. 
Aunque ultimamente me ha tocado enfrentarme a la tareas de DBA, no son mi especialidad ni me atraen demasiado.
Encontre este stored procedure (no documentado) que no conocía que permite ejecutar un comando para todas las bases existentes. 


--Comprueba la integridad física y lógica de todos los objetos de la base de datos especificada
EXEC sp_msforeachdb 'DBCC CHECKDB("?")'


--recupera espacio no utilizado en las base de datos
EXEC sp_msforeachdb 'DBCC SHRINKDATABASE ("?")'

--Hace el bac…

SOASTA - Load Testing From the Cloud

Imagen
Leo en Amazon Web Services Blog: SOASTA - Load Testing From the Cloud
SOASTA - Load Testing From the Cloud

I met Tom Lounibos, CEO of SOASTA, at the Palo Alto stop of the AWS Start-Up Tour. Tom gave the audience a good introduction to their CloudTest product, an on demand load testing solution which resides on and runs from Amazon EC2.Soasta_record Tom wrote to me last week to tell me that they are now able to simulate over 500,000 users hitting a single web application. Testing at this level gives system architects the power to verify the scalability of sites, servers, applications, and networks in advance of a genuine surge in traffic.Estuve mirando este  video, y parece muy bueno. Permite diseñar pruebas de aplicaciones web, y luego simular la carga de hasta 500.000 usuarios.

Parece un poco caro, pero bueno...

Taller de Extensiones en el GUG

Imagen
Marcos dio un taller sobre como hacer extensiones en Genexus X. Aplausos y solamente aplausos para los organizadores y el orador. 
Me parece una muy buena iniciativa que debería extenderse a Patterns y también a User Controls, en futuras charlas de GUG de forma  de bajar a tierra algunos temas y que mas gente se anime a extender Genexus de diversas formas. 

Multi tenant applications - Aplicaciones multi empresa.

Imagen
Esto sería algo que me gustaría que tuvieran las próximas aplicaciones GeneXus y creo que es mas fácil plantearlo con un ejemplo.

Supongamos que tengo una aplicacion GeneXus (por ejemplo, GXWiki). Es una aplicacion web muy buena, donde permito definir un wiki personalizado para cada persona que lo desee. Al principio la instalación se hace en forma manual, creando una base de datos independiente y un directorio virtual con una copia de los programas para cada persona que lo solicita.

Viendo un potencial negocio, una empresa decide ofrecer el servicio de Wiki y lo instala en un servidor web, bajo un esquema de software como servicio. En dicho servidor cualquier persona puede definir un wiki y a traves de scripts se copian los programas y se genera la base de datos con  la inicializacion necesaria para poner en funcionamiento un wiki. 
El tiempo pasa, y cada vez mas personas quieren wikis. Siguendo con las suposiciones, desde el plan Ceibal, deciden tener un wiki para cada una de las esc…