lunes 29 de diciembre de 2008

El dinero crece en árboles...

Parte de nuestro trabajo radica en encontrar fuentes de información de diverso tipo. Podemos invertir muchas horas googleando donde podemos literalmente extraer y minar los datos para las diversas funcionalidades que nuestros clientes pueden pedirnos.

Un dato típico es el valor de las monedas a nivel mundial a la hora de cerrar sus respectivos mercados y ser publicados los valores oficiales a corde a sus correspondientes bancos centrales.

Esta es una información poco estática, pues cada mercado de valores abre y cierra acorde al uso horario donde se encuentra, por lo cual aunque no se considere como información en real-time ciertamente se necesita tener un acceso frecuente y continuo a los valores que vayan siendo publicados periódicamente.

El problema radica en que muchas veces el cliente (o nosotros mismos) no deseamos pagar una prima mensual por obtener este tipo de información que libremente encontramos en diversos portales de noticias (independientemente de que sean o no de tópico económico). Lo que deseamos es un proveedor confiable, rutinario y sobretodo GRATIS. Al fin y al cabo, la idea es hacer dinero y no debería pagarse por algo que es vox populi diariamente, y de lo cual sólo se necesita una fuente de consumo.

Lo bueno es que como sociedades de la información que somos, pues hoy existen diversos medios para obtener datos o bien transmitirlos, como por ejemplo la tecnología RSS. Justamente el sitio http://www.currencysource.com provee de una serie de RSS basados en una moneda específica para publicar cada 2o minutos la relación de cambio que existe con esta y las demás monedas mundiales, desde las más empleadas como el dollar americano, hasta el franco suizo o la libra esterlina de Inglaterra.

Particularmente el feed para Euros es: http://www.currencysource.com/rss/EUR.xml.


miércoles 3 de septiembre de 2008

Un diferente paradigma, los mismos retos...


Esta entrada es un adendum a mi entrada anterior sobre Google Chrome, el nuevo navegador de Google, la cual podreis leer hacienco click aquí.

La verdad que Chrome es muy bueno, aunque he encontrado un montón de páginas que aún no soporta, como por ejemplo la de la Real Academia Española, algunas de MSDN (que empleo mucho por mi línea de trabajo como Arquitecto de Soluciones .NET) y ciertos aplicativos web de Facebook (como el de Dungeons & Dragons que me tiene adicto) o la capacidad de cambiar el tamaño a las imagenes que ponemos en las entradas de nuestros blogs.

Uno de los bugs más graves, aunque conocido y causal de chistes dentro del mismo GooglePlex es que Chrome no carga GMail... y no es que lo carque apropiadamente, sino que ni entra en la página de correos :P

Obviamente el producto es beta , y seguro saldrán actualizaciones muy buenas que irán solucionando esto poco a poco.

De resto, me parece que carga las aplicaciones y las páginas volando, que es muy inteligente y adaptativo a los gustos y búsquedas de cada persona y que tiene un aire minimalista que lo hace bastante amigable de usar, aunque tiene una que otra funcionalidad que uno exraña tanto de IE como del FireFox.

martes 2 de septiembre de 2008

Una misma idea, un diferente paradigma


A veces nos enfrentamos a escenarios en los que aquello que deseamos más, es lo que más tardamos en obtener. Y no estoy tratando de ser filosófico al respecto, sólo pragmático.

En la vida de un ingeniero de software, lo que más anhela se puede colorear usualmente en dos (como cosa rara en una vida estigmatizada por 1´s y 0´s) estados:

  1. A largo plazo: quieres ser un ingeniero de Google y ganar bien haciendo lo que te gusta (y muy importante, hacerlo bien), hacerte famoso jodiendo a Microsoft... o rico compartiendo su fama, fundar tu empresa o heredarla. No importa qué, te imaginas siendo grande en lo que más te apasiona: el software. Esto que es lo que más quisieramos que pase YA, es lo que más tarda en ocurrir.

  2. A corto plazo: es típico, tienes un problema y al googlearlo tardas como 10 a 30 minutos encontrando la solución en un oceano casi infinito de blog´s y foros en idiomas que jamás pensarías aprender, pero que gracias a Google Languages tienes exito en traducir tal cual un Champollion moderno. Y esto, que quisieramos que simplemente NO pase, o que se solucione YA... termina consumiendonos días de trabajo.
Seguro hay otros aspectos, pero el segundo, aquel de cosas a corto plazo, es el que me interesa más para esta entrada. :P

¿Y porque digo que me interesa? Pues porque dentro de poco espero poder instalar (aún siendo beta) la primera instanciación de Google Chrome, el navegador de Google.

Resulta que este navegador no tiene nada de especial con diferencia al IE de Microsoft o el FireFox de Mozilla, excepto que es de Google, y más que un navegador parece un sistema operativo virtualizado en una máquina local, con todas las prestaciones de un sistema operativo donde cada página web es una aplicación independiente siendo ejecutada a todas las de la ley.

Tanto es así, que cada página web en Chrome es manipulada dentro de su propio espacio de memoria como procesos diferentes (no threads, sino procesos completos) los cuales a su vez cuentan con subprocesos que pueden ser auditados y monitoreados a través del Task Manager... no del sistema operativo, sino del mismo navegador.

La ventaja es que minimiza el fragmentamiento de la memoria del navegador (que ya no existiría porque sería particionada por cada página), se podría saber con precisión que proceso (JavaScript o Plug-in) esta haciendo colapsar la página y más importante aún, si falla una página (tab) no colapsas el navegador completo. El contra es que se consumirá más memoria.

Básicamente Chrome como navegador hace lo mismo que cualquier otro que encontremos en Internet, pero lo hace bajo una óptica paradigmática totalmente diferente, tratando a las páginas web como aplicaciones (que es lo que son hoy realmente si nos fijamos en Facebook, GMail o cualquier otra por ejemplo) y manipulando estas como procesos virtualizados dentro de un sistema operativo a modo de sandbox.

LLamar a Chrome un navegador esta bien, pues eso es lo que hace; pero si somos formales y algo ortodoxos, entonces realmente es una máquina virtual donde el lenguaje máquina es HTML. No estoy exagerando, ya que JavaScript es tratado literalmente como un superlenguaje manipulado por una máquina virtual para él mismo.

Otra cosa (aunque para mí no sea gran ventaja... pero hay que ser imparcial) es que el navegador es totalmente opensource, con lo cual cualquiera puede mejorarlo o tomar libremente ideas del código proporcionado.

Mi única duda será con la parte de plug-ins, no por su desempeño o eficiencia que seguro será superlativa, sino por el soporte. ¿Habrá disponible todos los plug-ins que habitualmente empleamos como: Flash, Shockwave, Quicktime, Adobe PDF, Office (si, de Microsoft), Media Player (again) entre otros? Sin embargo,
como mucho del navegador sigue la arquitectura de los Google Gears y Google Gadjets, es probable que no sólo haya plug-ins, sino micro aplicaciones con funciones atómicas específicas adosables al navegador.

Espero que sea tan bueno como prometen, ya que sale el 3 de Septiembre.

Y al final, como bien dice mi amigo David Biencinto... Google tiene como objetivo conquistar el mundo, a este ritmo tendremos coches Google, comeremos en Google King y seremos gobernados por una Googlecracia.

En fin, Yo no me quejo :P


Por cierto que Blogger es de Google ;)


Algunas referencias:
  • http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html
  • http://en.wikipedia.org/wiki/Google_Chrome
  • http://blogoscoped.com/google-chrome/ [Este es el comic, muy recomendable]

lunes 7 de julio de 2008

Una necesidad muy común


La verdad es que llegar a España me ha dado muy gratas sorpresas, y entre ellas la más especial es que pude conocer y mantener relaciones con un grupo de profesionales con mucha mística y mucha pasión por lo que hacen.

Entre ellos esta David Biencinto quien usualmente nos envia por mail herramientas y artículos que va encontrando por ahí (como quien dice INTERNET).

Hoy nos envió una página web que genera archivos de imagenes tipo GIF para transiciones, de esas tan bonitas que nos sacan de quicio cuando pasa más de un minuto y la $#@&% página no carga.

Idealistamente estas animaciones son para aplicaciones AJAX, pero puesto que son imágenes se pueden usar en cualquier tipo de aplicaciones que necesite decir de de forma bonita al usuario "Espera y no desesperes..."

El URL es www.ajaxload.info y lo mejor es que es totalmente gratis.

viernes 4 de julio de 2008

Una cierta verdad...


Desarrollar aplicaciones y andar por sobre el agua son dos cosas muy sencillas; siempre que el agua y los requisitos funcionales esten congelados...

viernes 7 de marzo de 2008

Realizaciones

En la ingeniería de software solemos llamar realizaciones a todas aquellas explicaciones que permiten a otros entender lo que hicimos.

Esta entrada en el blog es una realización, para que ustedes entiendan esta decisión.

Me voy de Venezuela... una decisión que llevó muchos años en ser analizada, diseñada, concebida y finalmente implementada.

Lo cierto es que la vida no es una ingeniería de software, ni siquiera es ingeniería por más que me proponga a así tratar de interpretarla y de manejarla. Lamentablemente, siempre hay más que simplemente unos y ceros, blanco y negro, positivo y negativo.

Esta decisión ha tenido diversos efectos colaterales, entre los cuales destacan mi partida del cual ha sido mi hogar profesional desde hace mucho tiempo, y en el cual me sentí realizado como profesional; y la parte emocional de la cual no voy a hablar.

En cuanto a lo profesional, pues hablaré de la empresa donde me desempeñé hasta ahora.

En DBAccess tuve muchísimas oportunidades de crecer, de aprender y de fomentar una cultura corporativa que no se consigue en todos lados. Es un ambiente muy interesante para sembrarse como profesional. Se emplean términos que surgen espontaneamente del intelecto de todos sus líderes y que son compartidos por todos los colaboradores que viven en ella.

Como todas las empresas tiene sus altos y sus bajos, sus buenos momentos en los cuales estas completamente alineado y comprometido con cada acto y con cada discurso; y por supuesto, están los momentos en los que quisieras prender en fuego la oficina. Pero todo ello es normal. Lo importante es que los momentos buenos sean siempre la mayoría, y ciertamente lo fueron.

La organización me dio miles de oportunidades, y aspiro a creer que aproveché aquellas que sentí me orientaban hacia la imagen de mi yo como profesional que tenía en mente.

De entre todas las cosas, fue en DBAccess donde conocí a la persona más maravillosa del mundo, mi actual novia y la mujer que más admiro, un ser increíble que llena a cualquiera de orgullo y de alegría; un ser por el cual me siento muy honrado y bendecido de poder amarla.

Así que hoy me voy de allí, sintiendo exactamente el mismo duelo que puede sentir cualquier individuo al dejar la casa de sus padres... pero también con esa cosquilla en el estómago que se sirve como aperitivo a las más grandes aventuras. Mi partida de DBAccess no es algo que encuentre triste, porque las personas que allí dejo, serán siempre según corresponda los mejores compañeros y líderes que todo profesional puede esperar compartir en un lugar de emprendimiento.

Y hoy por hoy, y más con la profesión de nosotros, es fácil mantener el contacto a través de diversos medios, siempre y cuando así lo queramos.

Hace cosa de un año y medio atrás tuve la oportunidad de realizar uno de mis sueños más importantes: la peregrinación a Santiago de Compostela. El viaje fue una aventura completa de principio a fin y me permitió tener un esboso de como es la gente en otros países fuera del ámbito profesional, ya que muchas veces he viajado pero más como turista o profesional, escenarios en los cuales no se evidencia de primera mano el día a día de la gente.

Cuando estuve en la Ciudad de Santiago de Compostela pedí volver a España y tener la oportunidad de vivir y experimentar otra forma de apreciar la vida en otro país. Y esa petición, con trabajo y constancia se ha logrado.

A todos mis compañeros de trabajo: gracias por compartir conmigo la aventura de estar en DBAccess...

A mis líderes: gracias por permitirme compartir la aventura de emprender y de vez encuando (por no ser fanfarrón y decir siempre) innovar con calidad...

A todos.... Gracias Totales ;)

lunes 18 de febrero de 2008

El destornillador

El destornillador es para mi la herramienta por antonomacia. Para muchos otros será el martillo, y estoy seguro que más de un sibarita sofisticado y refinado encontrará en la llave inglesa la extensión perfecta en fuerza y versatilidad a su mano.Pero para mi, es el destornillador.

¿Por qué? Porque es sádico. Porque es doloroso. Porque no es inmediato y requiere destreza fina más allá de la consecución del hecho de atornillar.

Cualquier puede agarrar un martillo y dar golpes a diestra y siniestra encontrando el fin en cada porraso.

Con el martillo lo más importante es no clavar de más o de menos... y algunos perfeccionistas encontrarán justificativo en agregar que no se doble el clavo.

Pero lo mismo ocurre con el destornillador y sus tornillos, sólo que como herramienta más sofisticada, permite deshacer parte del trabajo sin dañar el material de obra y sin dejar rastro pausible de su incursión.

Pero este post no es sobre el destornillador, el tornillo que es atornillado o mi sadismo; es sobre saber usar la herramienta. La mayoría de las personas realizan trabajos y labores, más sin embargo no siempre en sus actividades emplean apropiadamente las herramientas que tienen. O al menos no las explotan tanto como éstas tienen potencial de ser utilizadas.

No tiene sentido pensar que dándosele a un individuo con ciertas capacidades técnicas una mejor herramienta, se podrá obtener induscutiblemente un mejor trabajo, más si se considera primero que lo que se busca que realice lo puede a bien hacer con la herramienta anterior. Lo importante a veces no es la herramienta, sino efectivamente determinar si nuestro individuo sabe hacer lo que se le pide con la calidad que se espera.

Las herramientas son instrumentos místicos, que deben ser empleados por los conocedores en el arte de su uso. Cualquier lego no es más que un inepto caducor de las habilidades de la pieza que prentende usar, y ofende por tanto a su artífice como a su contratador. Debemos usar las herramientas al máximo de sus capacidades, y sólo pedir nuevas herramientas cuando diuchas capacidades sean exididas, no por la herramienta, sino por la mano que la usa.