Entradas

Mostrando las entradas de abril, 2007

Editor de CSS Online

Imagen
En http://www.realeditor.com/editor/ hay un editor CSS que está bueno para personalizar las paginas de myspace.
Creo que es un buen lugar para rob... estee...., no!, para inspirarse y sacar ideas que puedan ser incorporadas en el GeneXus Theme Editor. Creo que guia de una forma muy intuitiva y muestra los cambios en forma inmediata, que puede ayudar mucho a quien tiene que personalizar los sitios web desarrollados por Genexus.

Auditoria de Norma ISO 9001:2000

Todo el día de ayer estuvimos sufriendo una auditoría de la norma ISO 9001:2001 en Concepto. Es el cuarto año que la tenemos y ya no nos produce tanto nerviosismo como las primeras. La pasamos con "aplauso, medalla y beso".

Recibimos una observación porque no utilizamos la sección 7.5.2 de la norma que dice "Validacion de los procesos de la produccion y de la prestacion de servicios-> es validar de alguna forma los procesos donde las deficiencias se hagan aparentes unicamente despues que el producto esta siendo utilizado o se haya prestado el servicio". Aun no me queda claro como aplica, pero tendremos que estudiarlo.

También nos hicieron algunas recomendaciones para favorecer la mejora continua y nos felicitaron por nuestro sistema de seguimiento y también por el nivel de registros que tenemos.

Build Nocturnos en GeneXus Rocha.

Aqui, aqui y aqui, Artech anuncio que va a empezar a publicar builds nocturnos de la version Genexus Rocha.

Me parece una excelente noticia para todos los betatesters. Es una muy buena forma de poder ver como se avanza en el desarrollo, y poder tener una forma mas rapida de feedback de los cambios que se realizan.

No es algo para usar todos los dias, pero creo que le va a dar mucha mas agilidad al ciclo de betatesting.

Matematicamente, tenemos chance

Imagen
Ayer de tarde, me pidieron si podia ir a jugar un partido de fútbol 5, en un campeonato en el que Concepto participa. Los organizadores del campeonato, habian puesto como condicion que habia que tener un equipo competitivo para participar, por lo que me había mantenido al margen del mismo, pues no estoy en condiciones ni de correr el ómnibus. Tuvieron que insistir bastante, pero dado que eran solo 4 los que iban a jugar y que es aburridisimo jugar un partido cuando se tiene uno menos, fui.

El partido era con Artech CENTRO, que dicho sea sea de paso, esta formado por mas gente de Zonamerica, que de CENTRO por lo que vamos a reclamar eso en la liga, para lograr que ese equipo sea descalificado.

El partido comenzo en forma correcta, conmigo en el banco, pues al final Federico falto o le suspendieron una clase en facultad y pudo ir a Jugar.

A los 10/15 minutos de empezado el partido se lesionó Alexander, y ahi el partido dio un vuelco, pues me tocó ingresar a la cancha. Aguanté uno 20 minuto…

Pirata II

Me quedé pensando en mi post anterior, (sobre la música uruguaya y como se distribuye) y pienso que si la industria de la música no esta preparada para hacer un sitio para vender canciones en formato MP3, podrían al menos distribuir los CDs con las canciones en formato MP3 y bien etiquetadas (tags) . Les quedaria lugar para meter las letras y las fotos que quieran. De esta forma nos daria la oportunidad a los que queremos comprar música nacional, no pasar el trabajo de conversión y clasificación para tener la música que nos gusta en el formato que la utilizamos.

Yo no soy muy pirata, ni lo quiero ser

Imagen
.. porque los muy piratas, se hechan a perder. Una reflexion sobre la musica uruguaya y como se distribuye. En los ultimos tiempos han salido algunos discos (o conjunto de canciones deberia decir) de grupos uruguayos que me gustan. He buscado algun lugar donde poder bajarlos, pagandolos. No encontre ni uno solo. Ni Jaime Roos, ni el Cuarteto de Nos, ni Leo Masliah, ni Drexler y estoy seguro que tampoco voy a encontrar donde comprar el proximo CD de La Vela Puerca. Lo que quiero es poder pagar un precio razonable por bajar las canciones en formato mp3 (o algun formato bancado por mis reproductores). Un dolar o 25 pesos uruguayos es un precio razonable por cancion. Ninguna persona que conozco usa ya CD de audio. Mis hijos tienen reproductores mp3 y en ellos escuchan su musica. En casa y en el trabajo, escuchamos la musica desde la computadora. Tengo parientes en Francia y Canada, que no pueden conseguir la musica uruguaya por los canales tradicionales. Los amigos que usan CD, en realidad …

Costa Rica: Ingresos fiscales aumentan un 16% en últimos 12 meses

Imagen
El TICA (implementación de nuestro GIA en Costa Rica) sigue dando que hablar.

Ingresos fiscales aumentan un 16% en últimos 12 meses - Economía - nacion.com:
"A marzo, los ingresos llegaron a ¢1.783.821 millones mientras el acumulado a marzo del 2006 fue de ¢1.540.009 millones, según el Ministerio de Hacienda.

La mayor recaudación obedece a mejoras en el control de la evasión y al aporte del sistema informático Tecnología de Información para el Control Aduanero (TICA), vigente desde el 2005, señaló Guillermo Zúñiga, ministro de Hacienda."

Es bueno que el ministro esté contento con el aumento de la recaudación (unos U$S 460 millones mas que el año pasado!!) pues en unas semanas me toca ir a Costa Rica a optimizar sentencias en la base y ayudarlos con algunos deadlocks de SQL Server que estan teniendo.

Nota: La foto del papagayo, no es mia, pues nunca vi uno suelto en Costa Rica, solo los vi en los zoologicos.

GeneXus Rocha CTP4: Primer prueba

Imagen
No recuerdo otra versión de GeneXus que en una etapa anterior a la liberación hubiese provocado tanta exitación entre la comunidad. Había gente realmente ansiosa y eso es bueno.

Voy por etapas.
Al probarla veo que está mucho mas estable que la CTP3.
Instalacion
El instalador es mucho mejor, que el anterio. Desinstala una version anterior si la encuentra.
Creacion de KB y Modelos.
Tiene algunas funcionalidades buenas, que ahorran el tener que ingresar muchas propiedades. Va pidiendo las propiedades a medida que las necesita utilizar.
Aun falta que me acostumbre y algunas cosas me costo encontrarlas pero me gusto.

Consolidacion de una KB Anterior
Pude consolidar toda una KB anterior de mas de 500 objetos. Me dieron problemas varios webpanels y webtransactions en el codigo HTML. Ahora valida que este bien formado y que cumpla con XHTML. Puede ser un poco engorroso la migracion pero las ventajas son claras. Ver el HTML en el nuevo editor es una gran diferencia que con la 9.0.

Tuve problemas con sen…

Cropper - Utilitario para capturar pantallas

Imagen
En algún lugar lei que Cropper estaba bueno para captura de pantallas.
Lo probe y realmente está bueno. Sirve cuando se está documentando una aplicación o cuando se esta reportando problemas (como cuando se hace betatesting).

Permite marcar un rectangulo de la pantalla y con doble click captura ese pedazo de la misma y salva el contenido como jpg, png, gif, bmp o al clipboard.

Tambien permite salvar las diferentes capturas en un directorio, por lo que me resultó muy práctico

Visual Studio Express

Imagen
Me parecio muy original la forma de utilizar la foto de Bill Gates en la propaganda de Visual Studio Express. Se pueden sacar algunas conclusiones: Vivimos en un mundo generoso, porque si con esa cara es la persona con mas dinero del universo, hay varios que no perdemos las esperanzas.

Desde el punto de vista de la eficacia de la campaña, no se si sera muy buena, pues cuando yo tenia edad de elegir con que herramienta empezar a programar o empezar una empresa, no era Bill Gates el ejemplo a seguir.

Data providers: mas preguntas sin respuesta

Siguiendo con el tema de data providers con GeneXus Rocha, me surgen mas preguntas:

* Cuando sale la CTP4?
* Vamos a tener tantos Data Providers como grillas? No me gusta
* Se va a poder conectar un DP a una grilla? (Respuesta: Si, lo lei aqui, aunque no esta implementado)

Lo iremos respondiendo a medida que se usen..

Hizo 9000 cosas al pedo

Imagen
Leyendo "Dos medialunas de frente" me acordé de este cuento, que lei en el verano.


El operario 11011 llega a su trabajo y como todos los días comienza a completar el formulario de evaluación mental. Los compromisos de excelencia que ha asumido la Corporación en la que trabaja garantizan que los productos son confeccionados en un 99.8% por empleados en el pleno goce de sus aptitudes intelectuales. Luego de finalizar las doscientas preguntas se dirige a su oficina. Allí se sienta en su silla de madera, siguiendo al pie de la letra los pasos de su instructivo "Sentándose en una silla de madera", operación que le lleva varios minutos. Una vez terminado el procedimiento, extrae del cajón derecho una lista de control con la que comprueba que no falte alguno de los elementos de su escritorio.
Marca con un tic al lado de ítems tales como lápiz, sacapuntas, montón de hojas, máquina de escribir, corrector líquido y un larguísimo etcétera. La Corporación asegura que el 98% de q…

ReallyUsefulEbooks.com

En http://reallyusefulebooks.com/ tienen una buena seleccion de libros de computacion. Se puede buscar por topicos, empresa editorial y ademas en http://reallyusefulebooks.com/update/feed/ es posible suscribirse a las novedades.

Como agregar un Icono a una aplicacion WEB.

Imagen
Los iconos que aparecen en las aplicaciones WEB (que no se porque se llaman favicon) se pueden incorporar con GeneXus poniendo el codigo:

Form.HeaderRawHTML = '<link rel="shortcut icon" href="favicon.ico" / >'

Y hay que poner un bitmap que se llame favicon.ico de 16x16bits o de 32x32bits en el directorio raiz del webserver.

El diseño de iconos no es mi fuerte, pero con http://www.rw-designer.com/online_icon_maker.php se puede subir una imagen (que haya diseñado alguien que sepa o robada) y permite hacer un iconito con la misma.

GeneXus Rocha, sus Data Providers y algunas preguntas sin respuestas

En los ultimos dias he estado probando un poco los Data Providers (http://www.gxopen.com/commwiki/servlet/hwikibypageid?3156). Son una de esas cosa que cuando mas lo pienso, no entiendo porque no se hizo antes...Estan muy buenos y nos van a abrir muchas posibilidades.

Por ejemplo si tenemos un "Trabajar con" clientes, tiene un webpanel, un listado, un procedimiento para exportar a excel, todos tienen las mismas condiciones y por lo tanto serian ideales para tener un DP asociado a ellos y que todos los objetos hagan referencia a los mismos.

El codigo queda mucho mas claro y concentrado en un solo lado.

Ahora, hay algunas preguntas que me estan dando vueltas en la cabeza (como soy cabeza hueca, tienen lugar) desde que empece a hacer pruebas...

* Si se le pudieran poner a los DP algunas reglas, no serian las reglas globales que estamos necesitando desde hace un tiempito?
* No se puede deducir la estructura de la Base de datos desde los DP y normalizar desde ahi?
* No seria mejor sac…

Blog de Jose Lamas

José Lamas empezó un blog en español, que puede (y debe) ser un buen lugar para comentar cosas sobre las GXExtensions y la version Rocha.

Lo encontré gracias a mi amigo Google, que trabaja para mi.. :)

Regla Error y Msg en Genexus 9.0.

Imagen
Marcos me hizo una consulta sobre el manejo de errores en Bussines Component en Genexus 9.0 y la codificacion de los mensajes de error.

Recordaba que la sintaxis era del tipo

Error("Mensaje de error",MsgId);

Lo busque por todos lados, y en ningun lugar estaba el parametro opcional.

Unicamente lo encontre aqui (http://www.gxopen.com/commwiki/servlet/hwiki?BChandlingErrors), despues de buscar un buen rato, pues no es facil buscar por la palabra Error. Creo que es algo que deberia mejorarse en la documentacion, pues es bueno que todos nos acostumbremos a codificar nuestros mensajes. Hace mucho mas facil crear manuales para usuarios, poder manejar los errores en forma automatica y tambien la traduccion de aplicaciones.



Cache de sentencias, dialogo pseudo-conversacional y "Tabla" ha sido modificada.

Un problema que me enfrenté la semana pasada y que aun no le encuentro una solución que me convenza es el siguiente:

Problema
Una KB Genexus, con una tabla Clientes, a la cual se le habilita el Cache de sentencias y se especifica que sea una hora, el tiempo que tiene que mantener las sentencias vivas en el cache.

A partir de ese momento la aplicación funciona mucho mas rápido, en una cantidad de consultas.

Cuando un usuario va a modificar un cliente, el cliente no ve los cambios que realiza (por una hora) y tambien le sale muchas veces (cuando quiere modificar 2 veces un mismo cliente) el mensaje:

"Clientes ha sido modificada"

Esto marea mucho a los usuarios, pues no entienden lo que esta pasando, pues no ven los cambios que ellos estan realizando. Esto hace que el usuario no pueda volver a modificar la tabla por una hora.

Solución ?
Este comportamiento es el planeado (o sea no es un error), pero no es lo que esperan los usuarios, por lo que creo que temos que lograr mejorar el cont…

UnSpun by Amazon - Ranking creadas por la comunidad

Imagen
Amazon está probando UnSpun. Es un sitio que permite manejar listas donde se puede votar los elementos de la misma, de forma de tener rankings comunitarios.

Vienen bien para WishList, lista de caracteristicas que deban tener las aplicaciones, encuestas informales, tormentas de ideas, etc.
Lo mejor que tienen es que con muy poco esfuerzo se puede compartir y publicar en cualquier sitio.
A modo de ejemplo, puse una lista creada sobre la GeneXus Rocha en este blog.

Y alcanza con agregar

< type="text/javascript" src="http://unspun.amazon.com/widget/embed/wide/4238"> < /script >

por lo que es muy sencillo.


Me gustó mucho la idea.

Diferencia increible entre Oracle y SQLserver

Gabriel me mostró un problema con una webtransaction generada con .NET. Era algo muy sencillo y que funcionaba bien en SQL Server y mal con Oracle, pues no estaba funcionando correctamente cuando habia uno de los elementos de la clave C(2) que tenia 2 blancos.

Hicimos la prueba sencilla
create table tabla (Campo Char(2))
insert into tabla values(' ') -- Inserto un registro con dos blancos.


Oracle 9iSQL Server 2000select * from tabla where campo=' ' --dos blancos 1 registro seleccionado 1 registro seleccionadoselect * from tabla where campo=' ' --un blanco 1 registro seleccionado 1 registro seleccionadoselect * from tabla where campo='' --sin blancos 0 registro seleccionado1 registro seleccionadoEs entendible que los DBMS tengan diferencias en la sintaxis de algunas sentencias complejas o en los dialectos utilizados para la creacion y modificacion de las tablas, pero parece poco creible (o debo decir serio) que difieran en l…

GeneXus Patterns: Arreglo rapido al export a Excel del WorkWith Pattern

Imagen
En el WorkWith Pattern, se incorporó la funcionalidad de export a Excel en la última versión del mismo. Es una funcionalidad muy buena y que le gusta mucho a los usuarios.

Cuando se quiere exportar a excel una columna LongVarchar, el programa generado queda con un error, pues da un error de asignacion del tipo (Char=LongVarchar).

Lo solucioné poniendo

if (itemType != null && (itemType.Type == DataType.Character || itemType.Type == DataType.Varchar))
cellType = "Text";
else if (itemType != null && (itemType.Type == DataType.LongVarchar))
{
cellType = "Text";
itemValueExpression += ".Substring(1,256)";
}

Esto pasa los primeros 256 caracteres del longvarchar, que para lo que es mi proyecto alcanza.
Habria que encontrarle una solución mas elegante, para la proxima versión. Estaria bueno que la funcion ToString() aplicada a longVarchar devuelva una variable del tipo char.

PROXY goes wild

Imagen
Esta es una experiencia sobre la instalación de una aplicación WEB con Ajax, con GX 9.0. En uno de nuestros clientes tienen un servidor ISA que funciona como proxy y firewall, que es administrada por otra empresa encargada de la infraestructura y seguridad.Cuando instalamos la aplicación desarrollada con GX 9.0, y le habilitamos la funcionalidad de Suggest y la funcionalidades Ajax, la misma se tornó INUTILIZABLE. La misma funcionaba correctamente y con una performance muy buena cuando se ejecutaba desde cualquier lado, pero cuando se ejecutaba atras del proxy, la performance se venia al suelo. En la investigacion previa, vimos que con FireFox la performance era mucho mejor que cuando se ejecutaba con Internet Explorer, por lo que dedujimos que el problema venia por el lado de JavaScript. A pesar de ser un tema que no me gusta nada, tuve que empezar a mirar que era lo que estaba pasando a nivel del tráfico http, pues habia algo que estaba muy mal. Instalé el Fiddler (permite ver los…

Costo de Indices en las base de datos.

En el libro Relational Database Index Design and the Optimizers los autores (Tapio Lahdenmaki
Michael Leach) dicen:

Disk Space
If there are more than 10 million rows in a table, the cost of disk space for
the indexes may become an issue. The charge for outsourced hardware depends
mainly on two factors: consumed CPU time and allocated disk space. At the
time of writing, the monthly rent for disk space in a high-performance, faulttolerant
disk server may be U.S.$50 per gigabyte.
....
To take an example, a new index with 400 bytes of user data is proposed
for a table with 10 million rows. Should we be concerned about the disk space?
The proposed index (without RAID overhead) requires about 1.5 × 10,000,000 × 400 bytes = 6 GB of disk space. The cost may be perhaps $300 per month.
This is probably not a showstopper ....


A esto ademas hay que sumarle el costo de agrandar los buffers, el tamaño ocupado por la redundancia de RAID, etc, etc.
Seguramente los costos puedan haber bajado bastante (son del 2005…

Google

Imagen
Google sigue sorprendiendo, con Google TiPS

















Nota: Supongo que es una broma de April Fool.