martes, 15 de abril de 2014

Estudiante de Ingeniería en Computación en Montevideo para trabajo en Concepto

Si sos estudiante de computación y vivís en Montevideo te puede interesar el llamado que estamos haciendo en buscojobs..

Si te gusta programar, aprender GeneXus y querés un trabajo de 4 horas hasta terminar tu carrera, no dudes en anotarte.


martes, 8 de abril de 2014

Estado del Testeo en Uruguay

 Me llegó una copia de primer libro uruguayo sobre Testeo que se llama "Introducción a las Pruebas de Sistemas de Información" de Federico Toledo (de abstracta).
Ademas de felicitar a Federico, me sirve para evaluar el estado de Testing en Uruguay.

Hace unos días se hizo el evento Testing.UY , que reunió un conjunto grande de profesionales de informática uruguayo, durante todo un día, hablando de pruebas.

La labor de CES es importante, con una carrera de testing reconocida internacionalmente y sus frutos se están empezando a notar.

AGESIC también aporta lo suyo, por ejemplo presionando para que en algunas las licitaciones publicas de desarrollo de software se agreguen indicadores sobre estabilidad y cantidad de errores, lo cual obliga a las empresas a preocuparse mucho mas por la calidad de las aplicaciones.

Si bien queda muchísimo por hacer, creo que es bueno reconocer que se está avanzando en el tema a muy buen ritmo y los resultados ya se ven y mejorarán aun mas a largo plazo.

viernes, 28 de marzo de 2014

Veinte años de Petroglifo

Hace mas o menos 20 años, hicimos la primer publicación de PetroGlifo. Era un pasquín de pocas hojas donde contábamos que es lo que estábamos haciendo en cómputos (en es momento, se decía COMPUTOS a quienes hacían las tareas de programación e informática).

Me preguntaron varias veces, porque el nombre de Petroglifo, y  en realidad se lo puse yo porque me gustaba.  Tuvo una repercusión mucho mayor que la esperada.

Dicha publicación, paso por varias etapas:

La primera fue en papel, se hacían unas 100 copias y se distribuían en los escritorios en un grupo de empresas.

La segunda etapa, fue con una implementación de noticias propias en paginas web, hechas con GeneXus. Aún tenemos en linea dichas noticias.

La tercera etapa, es un blog, en el cual publicamos menos de lo que deberíamos pero tiene algún trafico interesante.

Les dejo los primeros tres números de Petroglifo en papel, es lindo ver como hace 20 años trabajamos con VAX (en el numero 1 ) y explicábamos como conectarnos a Internet, usando computadoras, modems y URUPAC !! (en el numero 3)

El diseño es patético, pero piensen que antes era mas difícil tener editores decentes, para usuarios
Petroglifo Numero 1 by Enrique Almeida


lunes, 10 de marzo de 2014

Webinar: Migrando a versiones mas nuevas de GeneXus

Este martes 11 de marzo de 2014, a las 13:00 estaré brindando el Webinar: Migrando a versiones mas nuevas de GeneXus. 

Quiero comentar la importancia de mantener nuestras KB actualizadas en las versiones mas nuevas y las ventajas que estos proyectos traen a las empresas.

Si quieren inscribirse haga click aqui


UPDATE: El Video del Webinar puede verse aqui: 


viernes, 7 de marzo de 2014

Security Scanner #125 - XMLWriter WriteRawText method used in source

Cuando ejecuto el Security Scanner en una KB Genexus, lista aquellos objetos que utilicen WriteRawText cuando graban XML con el XMLWriter.

Que problema puede dar esto?

Comparemos estos dos casos

 1)
  &strAux =  '<tag>'+&String+'</tag>'
  &XMLWriter.WriteRawText(&strAux)


2)
&XMLWriter.WriteElement('tag',&String)

Ambas formas de programar son equivalentes cuando la variable &String no tiene caracteres especiales, pues generan el mismo archivo xml, que tendrá la forma

<tag>ContenidoDelSting</tag>

Ahora hagamos las pruebas con otros valores:

&String = "<otroTag>Valor</otroTag>"

El caso 1) generará el xml 

1) <tag>
         <otroTag>Valor</otroTag>
   </tag>

Queda el XML con nuevos nodos. otroTag que no estaba en el XML original

2) <tag>&lt;otroTag&gt;Valor&lt;/otroTag&gt;</tag> 

Las diferencia es que el WriteElement sustituye los caracteres especiales por su representacion alternativa, para que no se pueda modificar la estructura del XML, haciedo menos peligroso su uso. 

Otros casos que pueden ocasionar problemas:

&String=">"

&String="</tag><NuevoTag>valor</NuevoTag>"

&String = "\""

Programando con XMLwriter.WriteRawText con variables que dependan de un ingreso del usuario sin validacion, puede ocasionar la generación de xml mal formados o con problemas de codificación de caracteres (encoding). 

Esto puede hacer que nuestros programas entren en loop o cancelen, por lo que es importante evitarlo. 

Siempre que sea posible, sustituir el WriteRawText por WriteElement. 
En caso que esto no sea posible, utilizar rutinas o expresiones regulares para validar que dichos campos tienen valores validos. La tarea de validar entradas (o sanitizar) no es algo fácil de programar y no se recomienda usar rutinas propias. Gerardo Canedo de GeneXus Consulting me recomendó usar. :

Seria bueno que estas rutinas esten incluidas en GeneXus para poder realizar estas validaciones de forma mas sencilla.