martes, diciembre 28, 2010

Poor's Man Ruby Performance

Ya sé que existen muchos, tal vez cientos de evaluaciones y comparaciones del performance de las diferentes versiones e implementaciones de Ruby.

Muchas de ellas aplicadas con el mayor rigor científico que se pudiera exigir a algo tan trivial pero que al final siempre apantallan con sus gráficas y análisis.

En esta tarde de vacuidad, se me ocurrió hacer mi "Poor's Man Ruby Performace" chart solo pa'salir de dudas y jugar un poco con Rubinius, una implementación de Ruby que recientemente llegó a su versión 1.2.

En la gráfica comparo las siguientes versiones de Ruby:
  • Rubinius 1.2 via RVM
  • Ruby MRI 1.8.7-head via RVM
  • Ruby MRI 1.9.2-head via RVM
  • Ruby 1.9.2p136 via Brew
Todo esto corriendo en una MacBook Pro con 4GB de RAM y un Intel Core 2 Duo @ 2.2 GHz.

En la gráfica es obvio el interesante (y excelente) desempeño de Rubinius pero tiene el 'pero' de que la versión actual sigue implementando MRI 1.8.7. Yo ando de curioso ya con la versión 1.9.2 pero hasta el siguiente release se van a emparejar.

Antes de cerrar, les dejo la gráfica:



Y no, no es una inocentada.

Finito.

miércoles, diciembre 08, 2010

¿Quién dijo que enviar correos era fácil? v2010

Hace algunos ayeres me hice la misma pregunta y hoy me toca hacerla de nuevo. Por fortuna encontré la actualización de la respuesta.

El tiempo pasa...

Finito.

viernes, noviembre 05, 2010

La diferencia entre los dos

Hace cuatro años que dejé el trabajo en uno de los organismos públicos más grandes de México y me incorporé en una PyME de tecnología para finalmente mezclar el frilansin con el trabajo en la PyME.

En estos cuatro años me convertí en fan, usuario y evangelizador de Rails; me desconecté parcialmente (o muchamente) de Microsoft y sus tecnologías (tanto como los proyectos me lo permitieron) y me hice toda una mac bitch.

El involucramiento con Rails me trajo una cantidad enorme de temas nuevos de aprendizaje y reforzamiento (¿existe "reforzamiento"?) de muchos principios y valores (como en el catecismo) que ya conocía por mi anterior involucramiento con proyectos de software libre.

Estos aprendizajes me dejaron ávido de más, mucho más conocimiento sin embargo sentí una diferencia notable y que hasta hoy sentí abrumadora.

Durante los ocho años que estuve trabajando en la administración pública federal fui enviado a una infinidad de cursos de capacitación de diferentes tecnologías y marcas, estos cursos, talleres y similares complementaron mi aprendizaje autodidácta aunque más de una vez me cuestione si alguna vez iba hacer uso de tanto bagaje de conocimientos. Muchas veces no lo hice. Algunas otras me salvó día (y el trasero).

En la experiencia de consultor y frilanser el aprendizaje ha sido mucho más rudo, compacto en tiempo y diverso. El enfrentarte a problemas bastante diferentes en un pequeño marco de tiempo, con menos recursos ("tu eres el consultor") solo apoyándote del santísimo google hace que, de alguna manera, extrañe esos procesos de capacitación de antaño.

También me hace pensar en el eterno dilema de contratar novatos y capacitarlos vs contratar expertos y pagar sueldos elevados. La eterna queja de la empresa es "¿para qué los capacito si me van a dejar?". No chillen. Encuentren motivaciones adicionales al salario para que la gente se quede en la empresa y claro, hay que hacer crecer la empresa para pagar mejores sueldos.

"Es imposible contratar Divas". Solo contratas Divas si vendes bluffing o si de verdad produces algo muy particular. Es parte del negocio que escogiste.

En fin. Aprendizaje a velocidades y tiempos comprimidos. Otras vistas, otras perspectivas.

Finito.

domingo, octubre 10, 2010

(Not So) Pragmmatic Programmer

Hace un par de semanas me involucré en un proyecto para desarrollar una aplicación para una agencia de cinematografía. La "prueba de concepto" (como dicen los grandes consultores) la hice en Rails 3 con alguna de las nuevas gemas de la corona. Incluso así se mostró el proyecto al prospecto a cliente. Sobra decir que le gustó la aplicación pero dejó en claro que no estaba dentro de sus prioridades inmediatas. No problema por eso, pero parte de la reunión también fue revisar su actual servicio de hosting para validar el soporte a Rails.

El servicio de USD$8.00 al mes no da para mucho. Claro que no para soportar Rails. ¿Qué hacer entonces? ¿Qué hacer con un hosting debajo de básico que solamente soporta cpanel? Aparecía soporte para Python ¡Oh si! No es Ruby pero no se puede caer más bajo ¿o si? Deficiente soporte. Mis habilidades cpanel'istas no dieron para arrancar web2py en el servidor.

Y ahí, debajo de la manta del 'te lo dije' apareció PHP. OMG! Sí, tendría que usar PHP. ¿Cómo podría hacer menos traumática la experiencia? Una breve búsqueda en Google me arrojó la referencia a Symfony, un framework MVC muy interesante y no tan lejano del modo Rails. Lo descargué en mi máquina, seguí el tuto y conseguí arrancar un módulo completo (controlador, vistas y modelo).

En ese momento decidí hacer la prueba de fuego. Subirlo al servidor y echarlo a andar. FAIL!. Symfony también funciona a base de 'generators' y como tal requiere el acceso a la línea de comandos. USD$24.00 al mes me darían acceso pero no hubo respuesta favorable del cliente. El tan interesante y correcto framework tuvo así que ser descartado.

¿Qué queda a estas alturas? ¿Qué queda después de buscar opciones correctas? ¿Qué queda después de buscar las mejores tecnologías? Usar tecnologías crudas, simplistas y mezclarlas con scripts de internet. Hacer un pequeño Frankestein. Y finalmente es más fácil hacerlo con PHP que con otra selección.

¿Es esa la explicación del bajo nivel que generalmente se asocia a PHP? Al no tener más opción que trabajar con lo menos (hosting de USD$8.00) hay que hacer lo peor. Hacer lo menos. Hacer lo que funcione como sea.

Symfony es una muy buena muestra de un buen nivel de desarrollo con PHP. Encontré otros frameworks minimalistas al estilo de Sinatra (Frank.php) y similares pero la limitante del hosting no permitió aprovecharlos. Solo queda hacer el trabajo sucio con código sucio. Y será en PHP. Don't take it that hard.

Finito.

miércoles, septiembre 15, 2010

Celebración del Bicentenario



En esta tierra he visto mi primera luz
he visto y veo luz, tierra firme y vasto cielo
Todo mi entorno esta entendido en el amor
que nos tuvieron los que fueron hace tiempo.
y hoy hace un buen dia para hablar
de los que estan aqui
trazando a diario el bienestar de todo aquel que vendrá
como precederá la aurora al sol de diario
como sabemos que mañana sera igual.
por que así se ha venido haciendo con los años
que transcurren y se van.

Esta tierra en donde puedo caminar
bajo la dirección que le ponga a mis pasos
siempre habrá tiempo de venirle a cantar
por ser lo más que se ofrecer como regalo
Me dió un lugar donde al volver con gusto se decir
es mi país, esta es mi tierra, casa y esta es su canción
una canción como todas las que se han hecho
tan solo que con esta quiero hacer mención
de todo el bien que me hizo nacer de este pueblo
y que me parte el corazon que hablar de México
siempre me inflama el pecho

Y si miramos hacia atrás donde fuimos a empezar
y contamos los antiguos que formaron un lugar
pero un buen día se marcharon y aprendimos a decir
grandes fueron los viajeros que cruzaron por aquí.

En esta tierra conocí la dignidad
del que trabaja para ver crecer los suyos
del que se esfuerza superar su condición
aun a pesar de cruzar tiempos de infortunio
y hoy hace un buen día para hablar de los que estan aquí
trazando a diario el bienestar de todo aquel que vendrá

Que la siguiente que se llegue al semillero
que hasta esta tierra fertil algun dia arribará
y no hace falta repetir como los quiero
si lo he dicho tanto ya
y hablar de amores es bueno cuando se es sincero
y si ellos miran hacia atrás lo que les toca empezar
y nos hayan a nosotros que formamos un lugar
que un buen día nos marcharemos
y tal vez podran decir
grandes fueron los viajeros que cruzaron,
grandes fueron los viajeros que cruzaron,
en verdad que grandes fueron los viajeros
que cruzaron por aquí

Fernando Delgadillo

Y hoy llegamos a cumplir 200 años con una identidad perdida, viviendo de cerca con quien identifica 'mexicano' con Pedro Infante cantando 'La que se fue', borracho, lloroso pero muy macho por la botella de tequila que se empinó.

México es más que eso. Ser Mexicano debe ser más que eso.

Finito.