domingo, 13 de julio de 2014

Sigo siendo desarrollador

Mi tema actual es el catastro rural y urbano,
Mis herramientas: Java/Grails/CSS/JavaScript/jQuery/jQueryUI/PostgreSQL/PostGIS/Geoserver/OpenLayers

lunes, 6 de diciembre de 2010

Grails es el #1

según este portal, grails es el número uno de los frameworks MVC sobre Java.

Posiblemente, de todas maneras la evaluación a levantado polémica, pero más allá de discutir la objetividad de la calificación, realmente es bueno. Acá en la República del Ecuador, o mejor dicho en Quito, solamente tres programadores estamos sobre Grails, no se cuántos más lo estén haciendo. En su momento propuse la creación del Quito Grails User Group, pero nadie respondió.

lunes, 6 de septiembre de 2010

“UML es muy complejo”

La frase es de Ivar Jacobson, uno de los creadores y cerebros de UML junto a Grady Booch y James Rumbaugh. Eso es lo que declara en una entrevista reproducida en el libro “Masterminds of Programming”.

Fue en 1997 que alcancé a ver un número de la revista Software Development que anunciaba la versión 0.7 de UML, y venía con un CD de pruebas con herramientas de “Rational Rose”, empresa que posteriormente pasaría a ser parte de IBM. La razón por la cual yo estaba interesado por el tema fue que años antes había utilizado herramientas muy primitivas, para diseñar modelos orientados a objeto.

En esa época ya abundaban las herramientas de modelamiento de bases de datos relacionales. Entonces se cometía el error de tratar de equiparar un modelo relacional con el equivalente modelo de objetos. No son equivalentes, el primero determina la forma de persistir información, mientras el modelo de objetos señala la representación e interacción de las estructuras durante la ejecución de aplicativos. Eso fue más fácil de entender con el aparecimiento de herramientas como Hibernate o iBatis, o estándares actuales como JPA. Pero en 1997 el modelo relacional era todo y pares como [SQL Server – Visual Basic] era el estándar ideal para tratar de cambiar el mundo (hasta que se descubrió que VB manejaba un stack minúsculo de 20kb).

En la misma entrevista Jacobson afirma que “el 80% de las aplicaciones pueden ser desarrolladas con menos del 20% de UML”.

En mi opinión UML falla en no poder integrarse en IDE, ¿o será que por trabajar en NetBeans experimento esa limitación?, Oracle sacó UML y SOA de ese IDE, y la verdad es que no estaban listos. Entiendo que las herramientas UML de Rational/IBM son potentes.

No olvidemos que UML da soporte al “lado pardo”, a la abstracción de las tácticas y las estrategias, es decir a desarrolladores de brocha gorda.

sábado, 4 de septiembre de 2010

Visualización de Datos (en la ruta de Processing)

El gato de Schrödinger es una metáfora del científico Erwin Schrödinger en el año 1937 para explicar un hecho curioso (realmente "la madre de todos los hechos"), nos dice que la realidad no existe a no ser que UNO LA MIRE. Este blog que usted está leyendo existe únicamente porque hay observadoras y observadores, osea, usted lector/a. Eso está comprobado científicamente, puedo certificarlo: mi accidentado currículum en matemáticas superiores, terminó con algebra no lineal cuando demostré una de las ecuaciones de Schrödinger, ¿cuál? no me acuerdo, pero se aplicaba a ese gato.

Bueno, por lo tanto la visualización es necesaria, aunque eso no justifique que el programador promedio pase horas enteras poniendo pantallas bonitas a su trabajo, con lógica de dominio ineficiente y acceso a la base de datos lento!

La última tendecia en Visualización es agregar elementos nunca antes imaginados al análisis gráfico, una forma de estar al tanto de esas tendencias es el portal del artista y científico Stephen von Worley llamado Data Point.

Si se interasa por ese nivel de visualización la mejor manera de comenzar es analizar el paquete Processing que cuenta al menos con dos publicaciones en O'Reilly, "Getting Started With Processing" y "Visualizing Data".

En publicaciones O'Reilly va más allá de Processing en cuanto a visualización de datos, debo señalar al menos las siguientes publicaciones al respecto: "Beautiful Data", "Veautiful Visualization", y por su puesto nunca puede faltarnos la estadítica para principiantes: "R in a nutshell", "Head First Statistics" y "Data Analysis".

En la lectura uno se puede encontrar maravillas, pero nada mejor que Processing para iniciarse, que es fácil de instalar en cualquier linux, aunque hay temas de interface a web por resolver, donde, hay la posibilidad de que el gato esté bien vivo ! buen fin de semana

lunes, 30 de agosto de 2010

"You Are So Vain" - Carly Simon, 1972

Soy muy detallista a la hora de tratar de hacer las cosas bien con CSS para poner estilos a un portal web en construcción. Lastimosamente, no soy el artista del diseño que tomaría rápidamente una decisión para cerrar o abrir espacios o balancear colores, por lo que podría pasar horas improductivas tratando de hacer ese tipo de trabajo... pretender ser diseñador gráfico me cansa, y al mismo tiempo creo que publicar y promocionar un portal con información incompleta y/o mala presentación es poco profesional, es decir... mis conflictos son un poco feos al respecto, y no pretendo tomar curso alguno de diseño gráfico, photo shop, etc.

Para calmar mis ánimos siempre busco música, y en medio de uno de estos conflictos "CSS" encontré una delicia, un video de Carly Simon, de una cancionsota: "You are so vain"

disfrútenlo !!

Weceem: CMS para Groovy/Grails

Buenas noticias para quienes desarrollamos sobre Groovy/Grails: ya tenemos un buen administrador de contenido - CMS, se trata de weceem, que se presenta como un recién graduado: "joven y prometedor".

Voy a ser honesto, primero: recién lo estoy revisando. Segundo: si me piden hacer en este mismo instante un portal utilizando un CMS, lo construiría sobre Liferay, definitivamente sólido y con bastante soporte en literatura.

¿Cómo utilizaría weceem? complementando mis aplicaciones web construídas sobre Groovy/Grails

Una de las ventajas es que parece mucho más sólido que aquel construído por Nacho Brito, básicamente porque Nacho no se alcanzaba a mantener el plugin con el cual opera groovy.org.es (el mejor portal de Groovy y Grails en español, por no decir el único, pero con poco aporte de parte del público)

Uno de los problemas que tengo es que para configuración de seguridad utiliza ACEGI, que ha sido desplazado por los plugins en torno a Spring Security Core, pero por lo demás luce muy bien.

Un fuerte "pro" en cambio es que se descarga en dos modalidades: como una plicación war (listo para servirse en jetty, tomcat, etc) o como plugin.

Entonces toca ver cuan prometedor es!

sábado, 21 de agosto de 2010

MongoDB para almacenar resultados de análisis químicos

Mucha información, como por ejemplo, aquella generada por los análisis de los laboratorios, pierden flexibilidad cuando dependen del típico esquema de los sistemas de bases de datos. Esto ocurre básicamente porque son demasiados los campos de un solo análisis, y aunque bajo esos esquemas esté permitido una gran cantidad de columnas, siempre finita, las labores de administración son siempre incómodas por la constante necesidad de nuevos campos. Esta es la razón por la cual l@s químic@s prefieren almacenar el resultado de sus análisis en hojas electrónicas, que, con un poco más de agilidad son subidos a la web utilizando Google Apps

Yo siempre sostengo que las hojas electrónicas salvan vidas, y no me vayan a decir que nó: los expertos son realmente expertos cuando manejan bien hoja electrónica, desde los tiempos de lotus 123 a inicios de los 80, pasando por Quattro, hasta que Excel se impuso desde media mitad de los 90.

Hay dos formas de amenazar a un expert@: la primera es por decreto presidencial (realmente no existe aún) con el que se exija la utilización de un determinado producto como Calc de OpenOffice. La segunda es que por necesidad de integración de datos se trate de implantar un sistema con pantallas super sexys pero poco flexibles como aquellos en Visual Basic de finales del siglo pasado. Es mejor no estorbar el trabajo de expert@s, sean ell@s en el campo de la química o la contabilidad.

El problema de las hojas electrónicas es que su utilización, no implica integración de información, y eso es bien grave y limitante a la hora de analizar datos. Una salida es comenzar a odiar a todo aquel o aquella que generan información en hoja electrónica, y otra es comenzar a entenderlos. Personalmente recomiendo esta última opción, especialmente si no quiero comenzar a vender hamburguesas el próximo lunes.

El reto es integrar fuentes de datos almacenados en hojas electrónicas, y no hay mejor cosa que hacerlo mediante la construcción de aplicativos que extraigan esa información y las almacene en una base de datos. El problemas es que la información almacenada por lo general carece de esquema, toda vez que se utiliza la misma funcionalidad de la hoja electrónica para procesarla, y tal esquema por ser libre puede variar de un dpcuimento a otro. La solución está en saber extraer propiedades atómicas en formato par propiedad:valor, por ejemplo {“temperatura”:”14”}. La colección de las propiedades cuidadosamente seleccionadas, representan muy bien el documento y el pensamiento del experto. Mientras el esquema de extracción de dichas propiedades se debe mantener muy flexibles.

Las herramientas que permiten almacenar la información de esta manera se las califica como “libres de esquema” o bases de datos “NoSQL” (aunque MongoDB ofrece funcionalidad SQL), y me permití tratar de evaluar dos de ellas: CouchDB y MongoDB. La primera sufre de problemas de portabilidad en OpenSUSE 11.2 y nunca pude instalarlo ya que las “dependencias” entraron en crísis con la instalación de OpenOffice de mi laptop. Personalmente considero graves los problemas de portabilidad entre diferentes linux. En cambio MongoDB lo instalé sin problema alguno, y cuando lo descubrí, seguí su tutorial práctico y en línea en la sección “TRY IT OUT” del mismo portal, excelente experiencia !.

A mediado de agosto del 2010 la literatura de MongoDB es menor que para CouchDB, pero Manning, Apress, O'Reilly y Addison-Wesley ya anuncian publicaciones. El manual en línea, debería ser suficiente.

Quiero terminar clarificando lo siguiente: la transferencia de información desde las hojas electrónicas tiene su nivel de dificultad en el aplicativo que lee la información y lo sube a la base de datos, para el no programador... MongoDB se hace querer pero Java o cualquier otro lenguaje de programación es difícil de entender.

domingo, 15 de agosto de 2010

Se acelera la promoción del e-book

O'Reilly y Apress han acelerado la promoción de sus libros. Para el caso de Oreilly simplemente no ha dejado de "hechar la casa por la ventana" desde inicios de año con una serie de productos exquisitos. Apress en cambio se quedaba atras, pero desde hace dos semanas comenzó a ofrecer una serie de libros actuales o por editarse, y si usted mi buen/a amigo/a es un desarrollador sobre tecnologías Microsoft .Net, entonces Apress debería revisarlo todos los días, no se olviden que una cuenta PayPal que proteja a su targeta de crédito es básica para hacer las compras.

Un tip muy importante para el caso de O'Reilly, es que si el libro que usted desea no lo encuentra en promoción, posiblemente visitando su facebook corporativo encuentre unas jugosas promociones.

Lo lamentable para los ecuatorianos, es que desde la lógica de la impuestología de la "Revolución Ciudadana" en la República del Ecuador, estas compras son consideradas "fugas de capitales" y no como "transferencia tecnológica", por lo que la compra es grabada por un impuesto, que, aunque pequeño es ilegítimo... cosas de su magestad.