viernes, octubre 28, 2005

Llega el fin de semana

Se dice que el batir de alas de un colibrí en América puede desencadenar un tifón en Asia; las pequeñas cosas tienen consecuencias incalculables. Si cuidamos esas pequeñas cosas, las grandes se cuidan solas.

No es tan dramática la situación, pero en la vida de un desarrollador, los pendientitos e interrupcioncitas sumadas inhiben la capacidad de una persona de lograr objetivos medibles resultando en la frustración nauseabunda del 'no hice nada y ya se acabó el día'.

Casi el 40% del libro Peopleware de Tom DeMarco, explica la importancia de tener un ambiente silencioso de trabajo para los trabajadores creativos, como lo son los desarrolladores de software. Con una cantidad de ejemplos contundentes, podemos ver que en realidad en una jornada de trabajo de 8 horas, una persona en realidad labora eficazmente 1.5 en la generalidad de los casos en nuestro país. ¿En qué se va todo el resto del tiempo? pues en esas pequeñas interrupciones que en realidad significan, en tiempo, más que ellas mismas.

Cuando una persona se encuentra en flujo, es decir, trabajando inmerso(a) completamente en su que hacer, es cuando realmente es eficiente. Si se le interrumpe, tarda 15 minutos (mínimo) en recobrar ese flujo. Lo que significa que si alguien recibe 10 llamadas telefónicas, 15 mensajes instantáneos y atiende cada mail que le llega (4 veces al día); en realidad está teniendo (10 * 15) + (15 * 15) + (4 * 15) = 7.25 horas perdidas en obtener un flujo.

Muchas empresas de desarrollo (Innox entre ellas) exageran las políticas de espacios de trabajo, se prohíben los ruidos no necesarios, las pláticas que no requieran de la computadora en frente deben realizarse en las áreas comunes y se prohíbe la interrupción innecesaria a la gente.

¿Qué aburrido trabajar en un lugar así? Pues no tanto, creas una atmósfera un poco más eficiente; que cuando alguien rompe el silencio sepulcral, pues todos le seguimos y son los desahogos de concentración e iracundia por un bug que no sale, un proyecto que tiene retraso o un problema creado por el mundo que se desvive conspirando dentro de nuestras computadoras para hacernos la vida más difícil.

martes, octubre 25, 2005

YAFFPHP

Es hora de crear acrónimos difíciles de entender referentes a cosas simples como la mayoría de la terminología que a SUN le gusta mucho utilizar; algunas veces necesito un diccionario de abreviaturas, acrónimos y conceptos para leer un artículo con un título similar a 'Introduction to Java'.

A mi también me gusta sentir que estoy creando algo complicado digno de un acrónimo difícil de memorizar; es por eso que YAFFPHP serán las siglas para un nuevo concepto digno de todos los seguidores de PHP. YAFFPHP es 'Yet Another Framework For PHP'. Todos los desarrolladores serios e informados ya debieron haberse percatado de la nueva estrategia de Zend: Zend Framework.

Entiendo que PEAR no es un framework como tal; sin embargo se acerca mucho a la idea. De la misma manera tenemos 1'000,001 otras alternativas, desde aquellas hospedadas en phpclasses y paqueteria independiente como php-mvc, blueshoes entre otras.

Vamos de igual manera aceptando que la gente que hacemos desarrollo de software generalmente nos codeamos con El Creador y tenemos la mejor manera de hacer las cosas. Existen axiomas que nunca cambiarán, por lo que más y más frameworks perfectos seguirán naciendo; y de la misma forma reinventaremos la rueda, el hilo negro y la carabina de ambrocio.

Lo único que tengo que aceptar es que la gente de Zend me cae bien; tienen ahora ya mucho apoyo de empresas muy grandes, vamos, ellos mismos están creciendo a un ritmo interesante; y bueno, probablemente si Zend se acerca a las empresas rentables, pues aprenderemos todos sus clientes a hacer mejor negocio de la misma manera.

domingo, octubre 23, 2005

AJAX, Web2.0 ¿La revolución?

Tengo que aceptar que Google es una empresa que admiro mucho. Desde que se hizo pública, el dinero aparenta sobrarle, las buenas ideas desbordan sus 'labs' y como evitar mencionar el ya famoso Google Earh (que en el presente post sale más que sobrando).

Aunque me gustaría mucho, en este post no deseo hablar en sí de Google, si no usar de preámbulo a gmail. Como los desarrolladores lo han notado, aparte de hacer uso extensivo de iframes para darle velocidad al servicio, el uso de AJAX es uno de sus más novedosas características. Hago mención a desarrolladores, ya que para el usuario mortal todo se reduce a 'está chido y jala rápido'; bendito sea no tener que cuestionar todo, algunas veces envidio esa completa indiferencia del cómo funcionan las cosas.

En Innox ya comenzamos a investigar e implementar algunas funcionalidades con AJAX. Sin embargo el paradigma de programación difiere completamente de aquel ya acostumbrado en mi cerebro, ya que nuestro framwork es orientado a funcionalidad en páginas, no tanto en componentes como finalmente acaba exigiendo AJAX.

Bueno, después de todo terminamos regresando a como programábamos en VB; tenemos que hacer los ajustes en la red neuronal encefálica para crear otra 'mejor manera' de hacer las cosas después de todo.

Lo que pongo en tela de jucio es su denominación Web 2.0; en realidad es el mismo web con su tecnología llevada más al extremo. Creo que todavía no merece un incremento de versión... (si es que había una versión anteriormente), sin embargo vamos a intentar esta nueva moda con esperanza que se quede, ya que el concepto es bueno; cómo hacerlo rentable, pues todavía no me doy cuenta.

Estuve analizando varias librerías de AJAX para PHP y creo que xajax es una de las mejores opciones (para mi la mejor, pero no me gusta generalizar). En todas las otras librerías que vi es necesario meterle mano al javascript de la página para redeclarar las funciones que se utilizarán en PHP; ¿qué clase de software inmantenible va a generar esto? pues yo soy muy flojo y xajax me comprendió, ya que me genera todas las definiciones de 'callback functions' de javascript de manera automática; aparte que toma aproximadamente 5 minutos aprender a usar toda la librería.

Cabe reacalcar que tuve un problema con el irónicamente extraordinario Internet Explorer; sin embargo bajando la versión de CVS de xajax, todo se solucionó, después de tener que recompilar mi PHP ya que ahora usa mb_strings.

Iniciando la historia

En realidad la moda de los blogs la veo como un tanto egocéntrica; el deseo humano de ser visto/escuchado/leido por alguien ajeno a sus papás (que con gusto lo harían) presigue en veces un afán de popularidad que en realidad puede ser tan efímera como la calidad de sus pensamientos o lo entretenidos que estos puedan llegar a ser, al menos para otra persona.

Adaptarse o morir. En realidad, espero poder darle mantenimiento a esta historia en desarrollo, por mi y para mi. Tener la capacidad de escribir claramente resulta algo más que un valor agregado en una persona, y este tipo de prácticas incentiva al cerebro a hacer más cosas que pedir comida, dormir y complicar la vida mucho más de lo necesario.

Existen algunas otras razones adicionales:
  • Apoyo a la misión de este nuevo navegador Flock que acabo de bajar... después explicaré porqué me captó
  • Contar una historia que probablemente a alguien le ahorre uno que otro problema en la creación de una empresa dedicada al desarrollo de software a la medida; o a el desarrollo de software "a secas"
  • Contar la historia de una persona común y corriente con una vida común y corriente que puede crear un sentimiento de identificación con otra persona común y corriente con el único objetivo de coincidir en un 'a mi también me ha pasado'
  • Muchas veces la gente emula a alguien a quien admira. Yo no soy la excepción y el escribir es una práctica realizada por Joel Spolsky
  • "Aquella persona que ignora su historia está condenada a cometer los mismos errores". ¿Alguien ha visto como en realidad el teflón en las parrillas de cocinar cumple lo que vende? mi propia memoria tiene exactamente la misma funcionalidad
  • Se requiere valor para exponer a la crítica mundial tus ideas; se requiere aún más valor habilitar un canal para recibir críticas y retroalimentaicón; yo no tengo esa valentía, sin embargo el criterio que esto te puede generar bien vale la pena
Sin más preámbulo, soy mexicano y formo parte de un extraordinario equipo de trabajo llamado Innox. Nos dedicamos a simplificar la vida de las personas con soluciones web extraordinarias con el único objetivo que la gente invierta más tiempo en lo que realmente le gusta hacer.