lunes, 14 de diciembre de 2009

La nueva ola de Google

Hace poco tuve acceso a la nueva apuesta de Google, Google Wave.
Al principio la interfaz resulta un poco confusa en su uso, pero con un poco de prueba y error se aclara su funcionamiento. Cuando Google comenzó a publicitar a Wave hace unos meses, dijo que el concepto había nacido repensando las comunicaciones, como serian las comunicaciones si Internet se hubiese inventado ahora, pero usando un poco Wave uno se da cuenta que no comenzaron desde cero, mas bien mezclaron los sistemas de comunicación existentes y los agregaron todos en Wave y esta probablemente surgió debido a la buena idea de Gmail de agrupar los correos entorno a una conversación.

lunes, 30 de noviembre de 2009

Operaciones versus Proyectos

Dentro de una empresa existen labores que dan vida a la organización, estas tareas se  caracterizan por estar bien definidas, estar ejecutándose continuamente y ser repetitivas.
Es importante poder distinguir claramente este tipo de tareas de los proyectos, ya que nos dará una visión clara del funcionamiento de la empresa.

domingo, 29 de noviembre de 2009

¿Que es un Proyecto?

La informática se caracteriza por lo difícil en la implementación de grandes proyectos, por lo que comenzare una serie de artículos que aportan información util a la hora de lidiar con proyectos informaticos, estos artículos se basan el el PMBOK que es una interesante publicación sobre proyectos.

domingo, 27 de septiembre de 2009

Expresiones Regulares

Todo programador mas de alguna vez se ha topado con las expresiones regulares, están presentes en diferentes lenguajes de programación y ambientes, por ejemplo: C , Java, JavaScript, Linux, Unix, Xschema.

Una expresión regular es una cadena de caracteres que se utiliza como patrón para buscar coincidencias dentro de un texto, están son bastantes mas potentes que el antiguo *.*, por ejemplo una expresion para buscar el Rut en un texto puede ser:

([0-9]{1,2}\.){0,1}[0-9]{3,3}\.[0-9]{3,3}-[0-9Kk]|[0-9]{6,8}-[0-9kK]

Las expresiones regulares nos pueden ahorrar mucho trabajo ya que de una manera muy compacta se puede especificar un patrón que puede ser usado para búsqueda y reemplazo, como para realizar validaciones en formularios.

Un buen tutorial se encuentra en la red Bulma y pueden probar sus expresiones regulares en este par de paginas.

Recuerda colocar estas paginas en un marcador, ya que si no usas frecuentemente expresiones regulares es fácil olvidar sus sutilezas.

También se pueden aprovechar las expresiones regulares dentro de awk

grep alert eje.js | awk '{print gensub(/alert\((.*)\)/,"\\1","g");}'

En este ejemplo, mostramos el contenido de los alerts de un JavaScript

Exportaciones por Internet

Internet ofrece la posibilidad de llegar a millones de personas en todo el mundo de manera instantánea, esto a provocado la aparición de diferentes alternativas que facilitan la generación de negocios mediante este canal, por ejemplo cualquier tipo de empresa que venda productos puede tener fácil y rápidamente su tienda en Internet con utilidades como osCommerce, pudiendo generar un catalogo en linea que provee un carro de compras. Quienes fabrican programas pueden utilizar diferentes vías para disponibilizar sus creaciones, por ejemplo en el mundo de los celulares ya son famosas las tiendas virtuales en donde un usuario de celular puede descargar una aplicación por una módica suma de dinero, los portales para los desarrolladores son por ejemplo:

Por otra parte el portal Chileno de Terra a publicado un interesante artículo en que trata sobre la utilización de internet para generar ingresos vendiendo servicios o productos. En el artículo se muestra que esto es un tipo de exportación, por lo que se pueden obtener beneficios tributarios, y por lo anterior, también implicaria que no declarar estos ingresos podría ser una infracción tributaria, por lo que se debe prestar atención a los beneficios que estamos perdiendo y los riesgos en que corremos si no declaramos nuestra situación. En el articulo se menciona al portal www.chilexportaservicios.cl que apoya y ofrece las directrices para la exportación de servicios vía internet.

lunes, 7 de septiembre de 2009

Causas del fracaso de proyectos informaticos

Navegando me encontre con un articulo bastante interesante en el que se analizan algunas de las causas del fracaso de los proyectos informaticos.

Parte I Parte II Parte III

Parte IV Parte V

sábado, 22 de agosto de 2009

Nasa libera codigo fuente

Una buena oportunidad para los curiosos de la alta tecnología resulta la liberación de código fuente de algunos proyectos de la Nasa en modalidad open source, hasta el momento hay veintitrés proyectos, de estos los que encontré mas interesantes son:

viernes, 17 de julio de 2009

Moviendo Objetos de Entorno

Es común al trabajar bajo el patrón Modelo-Vista-Controlador (MVC) encontrarse con la necesidad de utilizar un Value Object tanto en el modelo como en la ejecución de la vista en el lado del cliente. Un método muy útil para conseguir este objetivo es la utilización de XStream, esta librería permite generar desde un Objeto Java un JSON y desde el JSON un objeto Java, como la generación de un Objeto Javascript desde un JSON es inmediata gracias a la función eval() de Javascript resulta muy fácil llevar un Objeto desde la capa de Negocios Java al ambiente de ejecución Javascript. Luego de modificar los datos del Value Object se puede volver a generar una cadena JSON gracias a la librería JSON Stringify de Thomas Frank y enviarla nuevamente a la capa de negocios para regenerar el Value Object inicial. Gracias a estas librerías podemos ahorrarnos mucho trabajo en el envío y recepción de información mas aun cuando se trabaja con grandes formularios y grillas con datos, incluso podemos utilizar esta técnica con AJAX.

domingo, 24 de mayo de 2009

Captcha

Es común encontrase ahora con esas imagenes deformes de letras y/o números, palabras sucias o poco claras, que deben digitarse a modo de validación, este sistema se conoce como captcha que en ingles significa Completely Automated Public Turing test to tell Computers and Humans Apart (Prueba de Turing pública y automática para diferenciar a máquinas y humanos).

Este sistema nace de la necesidad de controlar a los spamers, que mediante robots inundan distintos tipos de servicios con publicidad o capturan cuentas para el envio masivo de mails.

Este sistema puede ser muy útil para dificultar el robo de información, ya que al dejar a robots fuera del juego los sistemas de fuerza bruta son más dificiles de desarrollar.



Ahora debo exponer una funcionalidad a internet, donde el uso de captcha seria ideal, investigando en internet si había algo opensource para no tener que construir el sistema desde cero, me encontré con un servicio muy interesante, se llama recaptcha, puedes colocar la interfaz que solicita las palabras o números y el servicio la valida, como estoy trabajando bajo filosofía SOA es una buena opción, además se ayuda a la digitalización de libros, ya que una de las dos palabras que se muestran en la imagen no pudo ser digitalizada por un OCR (Sistema para reconocer las letras), por lo que el echo de estar validando el acceso a una persona también es productivo.