lunes, mayo 14, 2007

Ruby vs. Java Parte II

Al mismo estilo de los comerciales de Apple, Mac vs PC, estos tipos se han aventado un videito bastante chulo.




Finito.

De nuevo con lo mismo: Patentes

Ayer apareció en varios medios la noticia de que Microsoft finalmente señalaba las violaciones a patentes en las que caen varios proyectos Open Source y Free Software.

El primer punto que me viene a la cabeza es la posición de desventaja que está empezando a mostrar Microsoft. A mi parecer, no es más que el resultado de no encontrar maneras de contrarestar la pérdida de posición que está sufriendo. Anteriormente comenté que los movimientos que está haciendo para entrar en otros mercados, más que una diversificación, demuestran que ya no es posible sustentar el modelo que los vino a hacer millonarios: el software propietario. Finalmente son una empresa y siendo pública tienen que otorgar dividendos. Ya no tienen mucho de donde sacarlos.

La siguiente idea es la válidez de las patentes. ¿Realmente sigue siendo válido este modelo? Cuando vemos que grandes y pequeñas empresas hacen valer su propiedad sobre las ideas, por más abstracta, sencilla y simple me pregunto: ¿Dónde va terminar esto? ¿Ya nadie va ser capaz de idear algo sin violar una patente? Existen casos donde podrá cuestionarse menos el modelo, la industria farmacéutica por ejemplo. Si no tienen el aliciente de explotar durante varios años una patente ¿qué los motivaría a inventar nuevos medicamentos? Pero en la industria del software ¿Por qué es válido patentar el algoritmo que hace que una sección de la pantalla parpadeé? ¿No es algo de total y simple sentido común?. La idea de un conjunto de componentes para generar páginas web ¿no es demasiado abstracta o genérica como para reclamarla como propia? No desconozco el derecho de la autoría, reclamo cancelar el derecho de la exclusividad.

Definitivamente urge una revisión profunda y real de este modelo.

Finito.

miércoles, mayo 09, 2007

Entre servicios te veas

En una prueba de integración entre una aplicación .NET y otra desarrollada en Java nos apareció este mensaje:

Exito: 0
Código Error: 100
Desc. Error: mx.gob.imss.sigoi.quejaVerbal.exception.ValidaCampoException:
El campo Calidad de la persona que se comunica es requerido.
El campo Nombre de la persona que se comunica es requerido.
El campo Apellido paterno de la persona que se comunica es requerido.
El campo Lada de teléfono particular de la persona que se comunica tiene que ser numérico.
El campo Lada de teléfono particular de la persona que se comunica tiene una longitud no valida, menor a 2 Caracteres
El campo Teléfono particular de la persona que se comunica tiene que ser numérico.
El campo Teléfono particular de la persona que se comunica tiene una longitud no valida, menor a 8 Caracteres
El campo Teléfono celular de la persona que se comunica tiene que ser numérico.
El campo Teléfono celular de la persona que se comunica tiene una longitud no valida, menor a 12 Caracteres
El campo Correo electrónico de la persona que se comunica no tiene un formato adecuado
Se tiene que incluir al menos un medio de contacto valido de la persona que se
comunica: Lada y número de teléfono particular, número de teléfono celular, correo electrónico, o dirección completa
Es necesario capturar el NSS de la persona que se comunica
Es necesario capturar el NSS de la persona que solicita el servicio
El campo Calidad de la persona que solicita el servicio es requerido.
El campo Teléfono celular del usuario que solicita el servicio tiene que ser numérico.
El campo Teléfono celular del usuario que solicita el servicio tiene una longitud no valida, menor a 12 Caracteres
El campo Entidad federativa del usuario que solicita el servicio tiene que ser numérico.
El campo Entidad federativa del usuario que solicita el servicio no es un valor válido de catálogo
El campo Clasificación de la solicitud del planteamiento tiene que ser numérico.
El campo Clasificación de la solicitud del planteamiento no es un valor válido de catálogo
El campo Tema del planteamiento tiene que ser numérico.
El campo Tema del planteamiento no es un valor válido de catálogo
El campo Subtema del planteamiento tiene que ser numérico.
El campo Subtema del planteamiento no es un valor válido de catálogo
El campo Delegación de Adscripción del planteamiento no es un valor válido de catálogo
El campo Unidad Medica de Adscripción del planteamiento tiene que ser numérico.
El campo Unidad Medica de Adscripción del planteamiento no es un valor válido de catálogo
El campo Delegación o UMAE involucrada en la gestión o queja del planteamiento tiene que ser numérico.
El campo Delegación o UMAE involucrada en la gestión o queja del planteamiento no es un valor válido de catálogo
El campo Subdeleación y/o Unidad involucrada en la gestión o queja del planteamiento tiene que ser numérico.
El campo Subdeleación y/o Unidad involucrada en la gestión o queja del planteamiento no es un valor válido de catálogo

¿Qué tiene de malo? (aparte de algunas faltas de ortografía) Son dos servicios que están intercambiando mensajes entre sí. No tienen interacción con el usuario, así que este tipo de mensajes, descriptivos y detallados, son completamente desaprovechados en este contexto.

Entonces ¿cuál es el modo correcto de devolver errores en este caso? No sé cual sea el modo correcto. Lo que a mi me gusta es el estilo de AppExchange Web Service API.

AppExchange (anteriormente conocida como Salesforce) es una empresa que ofrece software as a service (SaaS), en particular un CRM que compite directamente contra los grandes: Siebel, SAP y otros. Les ha ganado una gran tajada del mercado y sigue abriendo áreas de oportunidad. La API que comento la ofrecen mediante servicios web y tiene la funcionalidad de agregar, actualizar, borrar y buscar items de su mega repositorio de datos.

Así, en esas operaciones obviamente se envían y devuelven resultados en un contexto de integración de servicios. ¿Cómo le hacen? Va la referencia del API:

SaveResult[] = sfdc.create(sObject[] sObjects);


Tenemos la llamada create que recibe un arreglo de sObjects (tipo nativo de AppExchange) y como resultado devuelve un arreglo de objetos SaveResult. Ahora veamos SaveResult:

private Error[] errorsField;
private string idField;
private bool successField;


Nos devuelve un objeto con el identificador único (idField), una bandera de éxito o fracaso (successField) y un arreglo de objetos Error, igualmente veamos:

private string[] fieldsField;
private string messageField;
private StatusCode statusCodeField;


En fieldsField tenemos el o los nombres de los campos que provocaron el error; messageField es el texto descriptivo del error y finalmente statusCodeField que es el código que identifica el error dentro de un catálogo disponible en el WSDL del servicio.

Si bien tenemos un texto descriptivo, tenemos otras referencias (statusCodeField, successField) que nos permiten atender el problema y darle solución dentro de un contexto de integración.

A mi parecer es la falta de comprensión de los escenarios en los que se trabaja lo que provoca este tipo de diseños. Ya se requiere cambiar el modelo y empezar a modelar servicios. En algún momento habrá un servicio que se encargue de interactuar con el usuario y habrá que darle la suficiente información para que resuelva los problemas que lleguen a aparecer.

Por eso, entre servicios te veas, comportate como un servicio.

Finito.

sábado, mayo 05, 2007

¿Qué pasa? ¿Qué pasó? ¿Qué pasará?

Cada vez que quedamos para vernos
cuando apareces se me estremece el cuerpo
te has convertido en lo más alucinante
lo que aprecio en mi vida lo importante

Estás y siento cuando estoy a tu lado
una tortura si estamos separados
quiero quedarme siempre junto a ti
cada día te quiero más
cada día te quiero un poco más
cada día te quiero más
cada día te quiero un poco más
cada día te quiero más
cada día nos queremos más

No es la primera vez esta semana
que te dejas abierta la ventana
el baño como una verbena
te has olvidado tirar de la cadena

(Se que esta noche a la vuelta del trabajo me tocará de nuevo hacer la cena)

Egoísta, insoportable no me gusta
que me trates así
cada día te ignoro más
cada día te ignoro un poco más
cada día te ignoro más
cada día nos ignoramos ignoramos más

No me apetece estar siempre de bronca
por cualquier cosa tenemos una gorda
ya no puedo aguantar otro cabreo
estoy mucho mejor si no te veo

No me preocupa lo que pienses esta noche
cuando al regreso no encuentres el coche
me he marchado para siempre
no quiero volver a verte jamás

(Hasta luego Lucas)

Cada día te odio más
cada día te odio un poco más
cada día te odio más
cada día nos odiamos más

(Hasta que la muerte les separe)

Cada día te quiero más
cada día te odio un poco más
cada día te quiero más
cada día nos queremos nos odiamos
nos queremos nos odiamos más

SpiderMan 3

Hoy fuimos al tan esperado estreno de SpiderMan 3. Mucha gente. Mucha emoción. Muchos promos de las películas de este verano.

Sentí larga la peli. De por sí se me hace que comprimen 15 o 20 años de historia del comic en dos horas pero esta vez abusaron. El screen play se tomó bastante libertades. No mantienen sincronía entre los personajes ¿Gwen Stacy viva cuando Harry Osborn Jr es El Duende Verde? ¿El ser simbiótico que llegó del espacio?

Las escenas de acción, igual que los anteriores filmes simplemente estuvieron super. El Arenero y Venom, villanos clásicos. La Tía May ¿quién no quisiera una tía así? MJ linda como desde el primer episodio. Gwen Stacy una hermosa novedad. Peter Parker en el lado oscuro, gracioso al inicio, aburrido al final. El Hombre Araña frente a la bandera gringa: el peor momento de la película.

¿Entonces por qué me gusta el Hombre Araña? Por humano. Cuando se sienta a sacarse toda la arena que tragó y que se quedó en su traje se me hizo tan.... común. Cuando siente que ya regó el tepache y llega la Tía May a darle la palmadita en la espalda es tan... común. Cuando se siente engañado por Harry y lo va a buscar a su casa y se pelean, también es tan común que solo por los mega-trancazos te ubicas que es una película.

La enseñanzas de la Tía May y el Tío Ben son la mejor parte de la película y crean todo el personaje de SpiderMan. Otra cosa que han olvidado incluir en los guiones es que al fin y al cabo Peter Parker es un nerd. Recuerdo que en los comics a veces salía con una explicación "científica" sobre como venció a su enemigo en turno.

En lo particular no me gustó del todo. Espero que la siguiente sea mejor. Recuerdan al Lagarto ¿o mejor le decimos Dr. Connor?

Finito.

jueves, mayo 03, 2007

Conceptos de Escritorio

Uno de los temas en los que debrayamos cañon el sábado anterior durante el FLISOL fue la manipulación de la información. Hablamos sobre las metáforas que se utilizan para representar acciones en la PC.

Por ejemplo, cuando quiero escribir una carta, tomo una hoja de papel y un lápiz y simplemente empiezo a escribir. En cambio para escribir un libro, lo más normal sería tomar una máquina de escrebir y tirar teclazos. En ninguno de los dos casos me preocupo, hasta que es estrictamente necesario, de cuestiones de márgenes, paginado, tablas, bullets, etc, etc, etc.

El modelo que usamos para el procesador de texto está tomado de la industria de la impresión, el Desktop Publishing ¿alguien se acuerda del PageMaker? ¿Ventura? Estos programas se hicieron para profesionales de la impresión, sin embargo a alguien se le ocurrió que también podrían funcionar para el usuario común y corriente que escribe cartas, memos, oficios y demás papelitos. ¿Quién, a la fecha, usa más del 1% de la funcionalidad de cualquier Procesador de Textos?

De igual manera, la interface que tenemos de entrada en casi cualquier PC es un escritorio. Plano. 2D. Más bien la representación de un escritorio. Y se tiene que mejorar esa interface para facilitar todavía más el acceso a una computadora.

A continuación incluyo un video que postearon la Cofradia que muestra otro tipo de escritorio, un poco más cercano a la realidad.



Finito.

martes, mayo 01, 2007

FLISOL 2007

El sábado anterior se realizó el evento FLISOL y me anoté para participar como voluntario en la Sede Ecatepec. Aunque las actividades estaban programadas a partir de las 9.00 la verda' es que llegué hasta las 12.30 +/-.

Me llamó la atención el hecho de que fue un pequeño cibercafé con máquinas Linux y otras Windows. El anfitrión, Jonathan, es un chavo tranquilo y buena onda. Hubo un caso de un modem SmartLink que nomás no se dejó configurar, estuve batallando para compilar el driver pero a la hora y media me rendí y entró Marcos al relevo. Tampoco hubo éxito.

Otro asistente, Carlos, se la pasó probando distros en su laptop. Fácil probó alrededor de 10 y fue haciendo los comentarios acerca del reconocimiento de hw, que es el tema de su interés.

Jonathan tuvo el detalle de invitarnos unas ricas tostadas e hicimos un break para platicar y comer. Despuecito regresamos y Marcos nos dió una breve introducción a Magic Point. Es un programa harto interesante. Mediante un metalenguaje se define una presentación completa. Una de las inquietudes de Marcos es desarrollar un editor GUI para hacer las presentaciones y a mi se me ocurré hacerlo funcionar en Windows. Sería un golpe muy rudo para PowerPoint :D

Alrededor de las 17.30 me salí y hasta en eso hubo anécdota. A los pocos minutos de subir al camión, sentí que me tocaron el hombro e inmediatamente volteé para ver a un chavo mostrandomé el pecho con un logo de "Linux inside" :S ¡Qué pex!

Pues resulta que se trataba nada más que de Gaper y BRIO que iban regresando de la Sede Tecámac. Los conocía de "nombre" y me dió un gusto enorme platicar sobre la experiencia del FLISOL hasta que me tuve que bajar por que ya había llegado a mi destino.

Fue un día padre, tranquilo y muy geek hablando de escritorios, drivers, ideas, experiencias y sobre todo conociendo a otros linuxeros. Espero seguir manteniendo contacto con ellos.

Finito.

viernes, abril 27, 2007

2° Congreso Universitario en TICs - UAEH

Pues el miércoles fue la fecha. Avanzaba el calendario y simplemente no veía llegar el 25. Y finalmente llegó.

Para llegar hubo que dar una vuelta harto curiosa. De la hermana república de Coacalco al paradero del metro de Indios Verdes, la terminal ADO y el autobús a la Bella Airosa. Un viaje tranquilo en el cual tuve el chance de leer un artículo de Juval Lowy sobre lo es al fin y al cabo el patrón Correlation Identifier implementado con WCF.

Finalmente llegué a la terminal de autobuses y ya me estaba esperando Heriberto García Islas, amigo del Tuzo y organizador del Congreso. Nos fuimos a la UAEH y me presentó con algunas autoridades de la uni, me instaló en su cubículo y esperando el inicio de las conferencias me dediqué a dar el rol por el campus.

Había un ambiente muy festivo, caminando me encontré con un concurso de canto y otro de vencidas :P. Había partidos deportivos y un bonche de chavos que iban y venían. Llegué hasta el Polideportivo y me quede contemplando un rato la vista.

El reloj marcó la hora y me regresé para asistir a la conferencia del Dr. Antonio Quiróz acerca de la formalización del modelo Watson-Creek del ADN. Es increíble la forma tan natural y sencilla de hablar de temas tan especializados y conseguir ese link con la audiencia tan jovén (excepto yo). Entre anécdotas personales y de la historia de la ciencia nos dió una introducción a la investigación del ADN y la participación de varios científicos mexicanos, incluido él mismo en análisis, planteamientos y respuestas. Realmente es un personaje.

Al terminar su ponencia, seguía mi turno en otra sala del campus y sin más me dirigí para prepararme. Conectar el proyector a la lap, arrancar, poner la presentación y después de la introducción sobre mi persona empezar. Agregué algunas láminas para esta ocasión y fui platicando sobre el tema Introducción al Proyecto Mono. Finalmente llegué al punto de los demos y los primeros que son los que realizo sobre Windows fluyeron sin complicación, pero al reiniciar la máquina para mostrar los demos en Linux ¿qué creen que pasó?

Sip. Una vez más. ¡torpe, torpe, torpe! No se proyecto nada de nada. No saben como odio eso. La próxima vez, que será en el FONASOL a finales de mayo, primero voy a probar si consigue proyectar desde Linux y voy armar una máquina virtual con Windows para hacer las demos y si no funciona con Linux en Windows voy a tener una máquina virtual con Linux. En fin. Esta vez no hubo muchas preguntas y de nuevo insisto en que si hay comentarios me los hagan llegar. Al final tuve el gusto de conocer a un par de chavos entusiastas del software libre: Darío Navarro Rosales y a David Hernández Pérez, quienes son miembros del GULEH y conocidos de Iver y Akin0, .

Después, Heriberto tuvo el detalle de invitar la comida, pero desgraciadamente su función de organizador le impidió acompañarnos y me senté a comer y platicar con Darío y David. Bueno, medio platicar ya que en ese rato se estaba instalando la Orquesta Sinfónica de UAEH para ofrecer algunas piezas. Terminamos un poco antes de iniciar el concierto y nos acomodamos para escucharlo. Piezas sencillas que encontré en mis recuerdos de cuando miraba las caricaturas en la tele los sábados por la mañana.

No hay nada como la música viva y este caso no fue la excepción. Realmente lo disfruté bastante, sobre todo cuando el director invitó a alguien del público que pasará a dirigir la orquesta y Heriberto saltó como resorte. Un momento muy divertido.

Bueno, fue un día excelente gracias a la gente de la UAEH, empezando por Heriberto por darnos la oportunidad de participar en el Congreso, por conocer al Dr. Quiroz, fue muy, muy emocionante y motivante y por ver chavos clavados con el software libre. Muchas gracias a todos.

Finito.

lunes, abril 23, 2007

De vuelta

Hoy fue mi primer día en el trabajo después de las vacaciones.

Han pasado un infinidad de cosas, en el mundo de desarrollo y algunas en lo particular.

Como noticias que considero relevantes, está la liberación del preview de Mono 1.2.4 y SilverLight.

En lo particular, el próximo miércoles tengo la oportunidad de exponer en el evento 2° Congreso Universitario en Tecnologías y Comunicaciones en la bella airosa y en 1er Foro Nacional de Software Libre. ¿El tema? El proyecto Mono.

Y otra, acabo de abrir un grupo Google para iniciar el desarrollo de una suite de operación comercial para la micro, pequeña y mediana empresa. La idea es tener una opción de código abierto para el manejo de las operaciones comerciales (facturación, CxC, CxP, clientes, proveedores, etc) desarrollado con Mono.

Hay muchas cosas que definir y más trabajo que hacer. Sigamos adelante.

Finito.

miércoles, abril 04, 2007

Parche para un parche

Ya había dejado pasar bastante tiempo para postear de nuevo, pero hoy me sucedió lo que nunca me había pasado antes: ser víctima de las actualizaciones de Microsoft.

El lunes o la semana pasada actualice religiosamente mi PC de la ofi con el servicio de Microsoft Update que me enjaretó un par de actualizaciones de segurida'.

Pus el chiste es que la instalé, pero como he estado en curso (zzzZZZzzzzZZZ) no había encendido hasta hoy y me apareció el infame error del panel de control de Realtek.

Como por pura casualidad, al leer mis feeds me encontré con uno que se refería a este problema supe de inmediato que hacer de lo contrario ya estaría reinstalando el software de la tarjeta de audio.

En fin, un caso más del parche sobre parche.

En otro orden de ideas, voy a estar de vacaciones a partir de mañana (técnicamente desde el siguiente lunes) asi que si había retrasado mis posts, yo creo que me aventaré una semana más sin postear. Pero, pueden seguir las ideas del Tuzo en Integración a la Mexicana, que está harto interesante. ¡Caliente!

¡Felices Pascuas!

Finito.

jueves, marzo 29, 2007

20 x 20 = 6' 40''

Generalmente al terminar cualquier exposición escuchamos la frase: "Lástima que no hay más tiempo..." o no falta el cuate que lanza la última pregunta, la más difícil de responder y se la salta el ponente con la perorata "Lástima, ya no hay tiempo para contestarte".

¿Qué pasa si en lugar de 1, 2 o n horas tuvieras solo 6 min 40 segs? ¿cómo conseguirías atraer la atención de la audiencia y que se llevara el mensaje que quieres comunicar?

20 láminas , 20 segundos por lámina. Pecha Kucha.


El último martes de cada mes, en el Covadonga (Puebla casi esquina con Orizaba) se lleva a cabo la edición mexicana de Pecha Kucha. El martes pasado asistí y la verdad es que estuvo excelente.

Los ponentes, la mayoría creativos, seleccionaron parte de su material y en slides nos fueron presentando su trabajo, concepto o ejercicio. Mucha gente, ambiente cool, relax y sobre todo, un escape de la rutina (al menos para mí).

Supongo que al ser esta la 4a edición, lo mejor estará por venir. Me muero de ganas de ver algo más que una serie de láminas, fotos; algo que durante 6 min 40 segs me arranque de la tierra y me cuestione mis principios. O al menos que me entretenga.

Para estar al día en los avisos, chequen el PechaBlog donde los organizadores anuncian las reuniones por venir aunque más o menos ya están fijas.

Finito.

martes, marzo 27, 2007

300

Al igual que muchos y gracias a la invitación de Gustavo, fuimos ayer a ver la película 300. Total y absolutamente una película épica.

Siendo una adaptación de una novela gráfica (¿comic?) de Frank Miller, algunas escenas se dibujan con chorros de sangre impresionantes para algunos.

Me encantó la banda sonora, como se fue adaptando a cada momento de la historia. Las escenas de batalla son magníficas, aunque me gustaría ver el Detrás de cámara para descubrir todos los detalles.

La historia, básada en un hecho real, es interesante. Quiero indagar más en la historia. Seguramente van existir algunas o varias diferencias pero creo (espero) que en el fondo debe ser lo mismo.

Me sorprende como es que se representa a los Persas, en particular a Xerxes y la definición que da de sí mismo (un dios), la frivolidad y desenfreno que muestran a su alrededor y el miedo que puede provocar en nosotros lo diferente.

Más de uno a comentado que se trata de una campaña mediática para justificar próximas acciones militares del gobierno de Bush en Medio Oriente. No me suena desabellado pero tampoco creo que se deba tomar como un hecho.

La idea de hombres entregados a un ideal y a su defensa, a costa de todo con un sacrificio inconmensurable pareciera que fuera la etiqueta que le gustaría a Bush que tuviera su ejército sin embargo más de la mitad del mundo no los consideara así.

No creo que la defensa de los ideales sea un error. La imposición de ideales es un crimen. De lo último es lo que debemos acusar a Bush.

Para los que no quieran adentrarse en estas cuestiones de ideología pueden tranquilamente ir al cine y disfrutar la película.

Finito.

Sin afán de repetir lo mismo

Pero tampoco dejar pasar por alto la serie de ataques misóginos de los que ha sido objeto Kathy Sierra es que escribo estas líneas.

Tratando de ser objetivo se trata de un crimen de odio, lo particular en este caso es que se da en la blogosfera, ese espacio virtual que nos trae conocimiento, diversión, amigos y en este caso miedo.

Kathy ha cancelado una larga serie de presentaciones debido a estos incidentes, me parece que ha caído en una condición muy triste por lo que ha dejado de hacer: su trabajo.

El asunto es grave y a la vez se está dando a conocer por que se trata de una figura pública, pero ¿cuántas víctimas más existen? Y peor aún, ¿cuántas víctimas no son virtuales si no de carne y hueso?

Otra cuestión que se despega de esta situación es ¿cuáles son los límites de la libre expresión? Si se bloquean los comentarios agresivos ¿estamos cohartando el derecho a expresarse? ¿la libre expresión incluye agredir a otros?

Ha decir verdad no tengo una respuesta pero no dejo de ver a Kathy como víctima de violencia.

Finito.

viernes, marzo 23, 2007

Más sobre Open Source y .NET

Vaya, vaya, vaya. Si bien sabía que la posición de Microsoft en relación a los proyectos Open Source con tecnología .NET (ni te veo ni te oigo) pensé (iluso de mí) que las voces de algunas personalidades de este submundo de desarrollo iban a hacer algo de mella en las torres de cristal bohemio de Redmond.

Ahora resulta que el semi-dios Scott Guthrie ha pestañeando y alcanzado a concebir que MVC es una cosa buea, así que en Redmond van a tirar código para conseguir que ASP.NET soporte este modelo mejor que, ejem, Ruby On Rails o, ejem, MonoRail.

La respuesta que más me agradó sale de David Starr que ha publicado esta carta abierta para Mr. Guthrie y A Quien Corresponda.

Como siempre, no faltan paleros de cualquier lado de la valla, y en esta ocasión Jeffrey Palermo efusivamente escribe: "Great concept Scott. I love what you are doing." :O

¿Qué va a suceder a continuación? ¿Matar MonoRail? ¿Alguien pidió una misa por NDoc? ¿Por qué no mejor cooperar con Castle Project? ¿Es demasiado complejo para los arrastra-controles?

Finito.

jueves, marzo 22, 2007

¡Arrancando!

Por fin apareció el primer post en Integración a la Mexicana. El valiente fue el Tuzo que se animó a publicar su primera nota. Espero que ya en estos días también Gustavo se anime a platicarnos su visión de todos esto que estamos haciendo en el trabajo.

Finito.

martes, marzo 20, 2007

Búsqueda eterna

Algo que me han dicho más de una vez es que soy muy desorganizado, muy desordenado.

Es cierto, brinco de una idea a otra como pelota de ping-pong. Me cuesta mucho trabajo terminar algo que empiezo y cuando lo consigo generalmente siento que se pudo haber hecho mejor. ¿Perfeccionismo?

Si bien dentro de un ambiente de trabajo este comportamiento no es nada deseable, me ha dejado un mega-bonche de conocimientos y experiencias que me permite dar otro tipo de valor, sin embargo, siempre he deseado poder tener orden en mis ideas y actividades. Puedo ser exageradamente disciplinado para algunas cosas y para otras no consigo dar pie con bola. También tiendo a dejar todas las cosas hasta el último minuto, para después de varios teclazos tenerlas resueltas.

Entonces, siempre estoy en búsqueda de un mega-super-dooper método que permita explotar mi natural inquietud (ping-pong-effect) con la mundana capacidad de hacer las cosas (get-things-done) ¿Ven para donde voy?

Pues si. Yo también ya empecé con la onda GTD. Gracias al blog de Scott Hanselman vi varios posts acerca de como se organizaba para trabajar. Gadgets, técnicas, etc. Alguna vez apareció el término GTD y dije: "¡aaahhh! ¡que interesante!" Pero nada más.

Un buen día me dí a la tarea de buscar lo más posible de información sobre la onda GTD y pues encontré varios sitios interesantes, prácticos y regulares. Los que me parecieron más interesantes los deje en mi del.icio.us.

Pero, una de mis manías es no creer en todo lo que dice la gente, si no irme directo a la fuente original así que me pusé a buscar el libro de David Allen y resulta que hasta en español existe. Lo compré el jueves pasado y en mis ratos libres del fin de semana lo estuve leyendo hasta terminarlo. No soy un experto GTD, simplemente alguien con el interés de ponerlo en práctica.

Como hartas en la vida, vas leyendo el libro y más de una vez piensas: "¡wwaa! esto ya lo hago, esto ya lo sabía" Pero siempre resulta que es solo una parte de todo un proceso y que el tener la idea incompleta te afecta más que ayudarte.

La idea de fondo me parece sencilla: Vaciar tu mente. Si sienten que suena muy oriental no están tan perdidos ya que hasta maestro de artes marcianas :P ha sido el autor. Pero por experiencia propia sé que es cierto.

Para nuestra mente no existe ni aquí ni ahora, por eso nos tenemos que esforzar para ubicarnos en el tiempo y espacio y además funciona de una manera muy simple: todo lo hago, todo lo hago, todo lo hago.... Tenemos que dejar bien claro en que y cuando queremos pensar en algo y es aquí donde aparece otra gran diferencia.

Si bien es cierto que tenemos que pensar, somos trabajadores del saber, para concretar nuestros pensamientos necesitamos actuar. Entonces ahora tenemos que saber que y cuando tenemos que hacer las acciones que pensamos necesarias.

Todo empieza por la revisión de todos los pendientes de nuestra bandeja de entrada (ojo: no es forzozmente electrónica ni de correo), luego por pensar que acción o acciones se derivan de cada pendiente y asociarla a un contexto en el cual podemos ejecutar esa acción.

Existen otras opciones como deshechar el pendiente, archivarlo para una futura referencia o delegarlo a la persona idónea para realizarlo.

Se puede pensar que con una o varias listas de pendientes vamos a poder resolver el problema. La diferencia radica en que nuestra mente reacciona de una manera diferente a una oración ("Bajar de peso") a una acción ("Caminar 30 mins diarios").

El punto que se me queda en mente es que GTD se trata de organizar listas de acciones para realizarse en un contexto específico.

Voy a avanzar en esto a ver como resulta.

Finito.

jueves, marzo 15, 2007

Y siguen con el "faulty" show...

En La Cofradía encontré la liga a este estupendo lugar que solo viene a reafirmar mi ya harto conocida opinión acerca de Vista.

Ahora resulta que te motivan a comprar, capacitarte, promover y hasta ¿vestir? tu negocio con Vista con premios, viajes y regalos. Que bajo han caído.

Seguramente van a organizar una premiación tipo Oscar para aquellos negocios que logren vender más de 10 copias. Ja.

Finito.

martes, marzo 13, 2007

¡Féliz cumpleaños July!


Oh Luisa María
Luisa María
Aliento Luisa
oh Luisa.

El 22 del mes doceavo vi nacer
a un ángel más hermoso que el amanecer
llegan ramos de rosas, mas regalos y cosas
como muestras de amor.

Oh Luisa María
Luisa María
Luisa María ha empezado a decir mamá
sonríe, y juega y duerme en brazos de papá
le regalan su bulla
dormirá blancas lunas que bendijo su paz.

Es un ángel que ha llegado desde el cielo azul
con la venia del Eterno para ser la luz
que ilumine mi sendero para ver mejor
su amor.

Es un ángel que ha llegado a mi soledad
para hacer de mi tristeza la felicidad
es un sueño que se ha vuelto realidad
y es flor, tu perfume a paz
su aroma huele solamente a amor ay, ay, ay.

Luisa María ahora es que empezó a crecer
traviesa, inquieta y guapa un poco más que ayer
se volvió corajuda, porque mas travesuras
no le dejan hacer.

Oh Luisa María

Luisa María ahora se vuelve mujer
se vuelve mas hermosa que el atardecer
ha cumplido otro año va subiendo el peldaño
que la hará florecer.

Es un ángel que ha llegado desde el cielo azul
con la venia del Eterno para ser la luz
que ilumine mi sendero para ver mejor
el amor.

Es un ángel que ha llegado a mi soledad
para hacer de mi tristeza la felicidad
y es un sueño que se ha vuelto realidad y es flor
tu perfume a paz, su aroma huele solamente a amor.

Y es un ángel que ha llegado desde el cielo azul
Luisa María,
Luisa María eres el amor, amor, amor.

Y eres el ángel que ha llegado a mi soledad
Luisa María
oh Luisa María
eres el amor, el amor, el amor.

Y eres el ángel que ha llegado a mi soledad
Luisa María
oh Luisa María
eres el amor, eres el amor.

y eres el ángel que ha llegado desde el cielo azul
Luisa María
oh Luisa María
eres el amor, el amor, el amor.

Y eres el ángel que ha llegado a mi soledad
para hacer de mi tristeza la felicidad
y es un sueño que se ha vuelto realidad y es flor


Tendría yo unos 15 o 16 años cuando escuche por primera vez ésta canción y desde ahí nació mi niña.

Me pasaba rato cantando emocionado "Y es un ángel que ha llegado desde el cielo azuuuul..." soñando con una pequeña nena, sonriente, cariñosa, tierna.

Pasaron muchos años, muchas cosas y dos hijos. Y un día de esos me dicen "¿qué crees?... Si estoy embarazada..." :S

Eran tiempos harto difíciles. Sin trabajo, con dos hijos, deudas a diestra y siniestra. Sin embargo, como sucede en estos casos, el tiempo siguió su curso sin importar las condiciones.

Una tarde, días antes de la fecha prevista para el alumbramiento, se presentaron unas complicaciones que hicieron urgente un ultrasonido. La revisión no arrojó nada grave, condiciones previas al parto. Sin embargo el doctor hizo la clásica pregunta "¿quieren saber que es?" Sin darnos tiempo a contestar nos dijo muy tranquilo: "Es niña".

Al día siguiente nació. Una pequeña hermosa. La primera vez que la ví estaba en la incubadora hecha un ovillo sobre si misma. Y ahí se encarnó mi amor.

Yo quería llamarla "Luisa María" (obvio) pero su mamá simplemente no quiso. Luego intenté con "Julia" pero al final lo dejamos en "Julieta".


Las noches son un mar de oleaje torvo
que a veces me traen recuerdos
y que recuerdos los que vuelan esta noche,
de donde hace tantos años se habían quedado durmiendo
recuerdos que me van llegando a oleadas
y sugieren otros tiempos
tiempos de más,
facilidad es la palabra que hoy me falta y
que hace tanto no comprendo
no tengo más que un vago sentimentalismo
dulce y triste pero viejo,
viejo como el viejo sabor de viejas lágrimas
y viejo, como el muro de su casa donde aparecía corriendo
de la mano de su hermana
cuando la estaba queriendo más que a todo lo que quise,
y sobre todo lo entiendo que quiere alguien con 10 años.
Como me gustaba Julieta araran
En ese entonces todo venía en otros nombres,
desde el amarla en secreto
Hasta el vivir con la confianza en que me
amaba tras de sus ojos risueños
Siempre se resumía en la frase acostumbrada
Y para mí ­ todo lo envolvían tres palabras
ciertas como la verdad,
Me gustaba Julieta araran
Me gustaba Julieta araran dararan
Me gustaba Julieta
cuando iba mirando a cualquier sitio sin hacerlo
cuando imaginaba y se peinaba los cabellos negros
negros como noches y largos, y largos como inviernos
que nunca acababan de estar cerca ni estar lejos
solo, y tan solo a mi lado y a mi lado les recuerdo
Me gustaba Julieta
cuando imaginaba que le amaba de hace tiempo
cuando me escribía que era su amor
cuando lo entiendo y además cuando como hoy lo rememoro
dulce y triste como lágrimas y besos
de mejilla y de la infancia y de hace mucho tiempo atrás
Me gustaba Julieta
cuando murió su papá y se lo dijeron
cuando en la sorpresa soltó el llanto
y el cuaderno en donde decía que me amaba
siempre y cuando fuera eterno como el sol
Me gustaba Julieta
cuando la llevaron a vivir con sus abuelos
cuando dejó de ir a clases con su hermana
cuando una tarde como cualquier tarde
gris se me fue muy lejos
lejos más allá de donde van todos los sueños
que han venido desde entonces y esta noche me repiten
que de niño y en las tardes
Me gustaba Julieta araran
Me gustaba Julieta araran dararan
Me gustaba Julieta araran
Julieta dan dan dan dan dan


La niña que siempre vivió en mi imaginación y en mi corazón.

Finito.

sábado, marzo 10, 2007

Sábado Distrito Federal

Al incipiente joven le encargaron de tarea la visita de dos bibliotecas de la otrora magna Ciudad de los Palacios, la región más transparente del aigre... la Excelsa Ciudad de México, la ciudad de la (des)esperanza (mote perredista).

Pues como buen padre (bueno, alguna vez tenía que fingir) acompañe a mi vástago, obviamente después de atender algunas actividades harto importantes.

El recorrido inicio en la rete aburrida de todos los días al trabajo. La diferencia la encontré al quedarme en la estación del metro Balderas y llegar caminando a la Biblioteca México (así, en mayúsculas). Harta gente, harto chamaco, pura hormona de dos patas.

A mi impetuoso hijo (hijo de tigre, pintito) le acicaté pa'que empezara con los deberes que le fueron encomendados. E iba de un lado a otro preguntando y poniendo cara de víctima. Por fin conseguimos entrelazar ideas y obtener lo que le encargaron.

El tiempo fue nuestro rival y salimos en friega buscando la segunda Biblioteca que visitar, la del Congreso (aquí no debiera importar la mayúscula). Llegamos casi al cierre, gracias a la bondad de una de las personas nos permitieron recopilar el mínimo de información que m'ijo necesitaba, pero esta es una de las Bibliotecas a las que he de volver con más tiempo. Hermosa. Pequeña pero hermosa, con unos grandes estantes para recargar los libros, supongo que los antiguos monjes (por que es un edifico eclesiástico) trabajaban ahí copiando manuscritos (como en "El nombre de la rosa"). Ya habrá tiempo.

Sin embargo, tuvimos que regresar a la México para completar el trabajo que le encargaron. Una consulta sobre el número de hablantes de lenguas indígenas categorizadas por estado. Fácil ¿no? Pus ¡NO!

Primero, encontrar que libro nos pudiera dar la información... Hhhmmm... ¿por dónde empezar? ¿Lingüistica? Tal vez.... Nada... ¿Pueblos indígenas? Puro material explicando que son pobres por weyes y rejegos. ¿Censos? 'uta madre... espero que no se lleven las hojas al baño :O

El chiste es que no fue nada fácil. Encontramos referencias, no encontramos libros.

Nos salimos y fuimos a comer y luego a caminar sobre Reforma de la Diana hasta casi el cruce con Insurgentes. En el camino fuimos viendo la exposición de bancas. No había tenido tiempo de verlas y también le fui contando algunos episodios de como fue que conocí a su mamá, el edificio que fue donde trabajabamos, la acera de Reforma que nos sirvió de confesionario de amor, lugares que frecuentabamos.

Nos dirigimos a la glorieta de Insurgentes y tuvimos una charla pendiente (no fue la de las florecitas y los animalitos) y finalmente aterrizamos en un café interne', donde en menos de cinco minutos encontró la información que buscaba.

Amo los libros. De verdad. Me emociona entrar en una biblioteca y sentirme rodeado de miles de volúmenes, de autores, historias y datos. De todo ese conocimiento y experiencia vertidos en blanco y negro (y a veces a color). Pero, creo que debe existir una manera más dinámica de encontrar la información en esos libros, una manera que expanda nuestra capacidad de búsqueda. Sería fantástico tener indexados todos esos libros, poder consultarlos digitalmente y solamente "copiar" lo que se necesita, sin fotocopiadoras, libros maltratados, falta de material y demás deficiencias que encontramos en nuestras bibliotecas. Sería fantastico que andara equivocado y que el baño no estuviera ocupado.

Ha sido un día fuera de lo normal. Espero él así lo recuerde.

Finito.

jueves, marzo 08, 2007

My Programmer Personality Type

Gracias al blog de BlackNash encontré este curioso test. He aquí mi resultado.


Your programmer personality type is:

PHSC

You're a Planner.
You may be slow, but you'll usually find the best solution. If something's worth doing, it's worth doing right.

You like coding at a High level.
The world is made up of objects and components, you should create your programs in the same way.

You work best in a Solo situation.
The best way to program is by yourself. There's no communication problems, you know every part of the code allowing you to write the best programs possible.

You are a Conservative programmer.
The less code you write, the less chance there is of it containing a bug. You write short and to the point code that gets the job done efficiently.



Finito.

miércoles, marzo 07, 2007

Meme: Commodore 64

Este anuncio trajo a mi mente el recuerdo de la poderosa Commodore 64.

Fue mi primera computadora. Lo más increible es que aprendí a programarla aún antes de tener la mía. Iba a los Aurrera que tenían su stand de cómputo y me pasaba horas enteras. También compraba las revistas españolas que traían y literalmente me los devoraba.

En ese entonces importar libros era un sueño, sin embargo llegué a tener ediciones en español de los famosísimos libros de la serie Data-Becker. Y otros de una editorial española de cuyo nombre no quiero (más bien no puedo) acordarme.

Para mí era increible. Mis hermanos seguro recuerdan las tardes de juegos con la serie Olympic Games, Winter Games, etc de Epyx. El International Karate o Mission Imposible (a mí me gustaba mucho, mucho).

Pero donde me cambió en mucho la vida fue cuando apareció GEOS. Ya antes había visto las supernovedosas Macintosh con su interfaz gráfica, mouse y toda la madre. GEOS trajo al mundo de las computadoras caseras un GUI mucho antes que Windows y toda su parafernalia.

En la C64 aprendí a programar. Primero en BASIC y luego en ¿BASIC? Ja. Era un verdadero drama conseguir otros lenguajes. Llegué a tener un compilador de Pascal (¡uuuyyy! ¡que rudo!) que nunca conseguí hacer funcionar (¡aaahhh!). Una versión de Forth (¿¿¿???) y no me acuerdo que otros.

Pero lo mío, lo mío, era el ensamblador :O

Sip, así en serio. En una serie de libros de Compute! encontré uno que traía paso a paso la construcción de un mega-chido-super-dooper ensamblador. Traía el código que ibas tecleando paso a paso hasta que llegabas a ensamblar el mismo ensamblador :O Open Source sin ser Open Source :S

Me llegué a aventar un editor de disco en puritititito ensamblador. Con eso me hice hombrecito (¡wwwaaa! ¡que sea menos!).

Cuando llegó GEOS, de inicio no había de otra. Ensamblador, ensamblador, ensamblador. Ahí fue cuando aprendí programación orientada a eventos, recursos (resources) y otros chunches propios de desarrollo para GUI's. Hasta compré la guía oficial de desarrollo para GEOS. Me aprendí su API (en ese entonces no sabía formalmente que era un API) de memoria. En fin.

Cada mes, religiosamente iba al Sangron's a comprar la edición de Compute! específica para la C64. Fue durante un año o dos, hasta que llegó el día en que simplemente ya no hubo.

Había llegado el mundo de las PC compatibles.

Finito.

PD. Solo como detalle chuisco. En la película de Terminator, cuando se ve a través de la mirada del cyborg, aparecen secciones de código del kernel de la C64. Neta.

Race to Linux 2.0

¡Ahora es cuando!

Se acaba de anunciar el concurso Race to Linux patrocinado por Novell, IBM y Mainsoft. De lo que se trata es migrar una aplicación ASP.NET 2.0 para ejecutarse en Linux. ¿El modo? Cómo tú prefieras; entre las opciones que se mencionan está Mono (obviamente :P), Grasshopper, PHP, Rails (¡no me tienten!) y creo que cualquier otra tecnología.

En la versión anterior de este concurso, uno de los ganadores fue un mexicano (y no fue Miguel de Icaza con Mono). La vez anterior no le entré, pero quién sabe, a lo mejor esta ocasión me aviento el volado :P

Ahora, los ganadores se van a llevar un Nintendo Wii :O. Así que en vez de andar buscando ventas nocturnas o pagos a 12 meses sin intereses, mejor échense una tardecita en donde quieran y éntren a competir.

Finito.

No andaba muerto

Muchas cosas que contar, poco tiempo para hacerlo.

De mientras me animé a publicar en el blog los items compartidos de Google Reader. Así que podrán ver con que alimento mi cabezota todas las mañanas. Gente, ideas, noticias. Todo me llega por los feeds. Ya casi no visito sitios web. Lo que me importa lo leo en un feed, generalmente del blog de alguien.

Entre los feeds que leo hay casi de todo: Mono, Rails, Arquitectura, Desarrollo, Open Source y varios temas. También pueden consultar mis marcadores de del.ico.us donde encontrarán muchas de las cosas que me interesan como referencia o simplemente por el gusto de recordarlas.

Finito.

lunes, febrero 19, 2007

CONSOL 2007: Fin

El viernes pasado tocó a Gustavo exponer sobre integración de software con SL. Estuvo trabajando muy duro con la presentación y con los ejemplos durante los dias anteriores y finalmente llegó el momento.

Me tocó asistirlo en la presentación, con las láminas y con los ejemplos que se usaron. Hubo un momento que me trabé, tuve un lapsus brutus de varios segundos, Gus saltó al teclado y conseguimos continuar con la exposición :P

Al final, me queda resumir lo que ha sido este CONSOL.

Poquito. Me hubiera gustado estar al menos un día completo.
Emocionante.
Desorganizado :( El viernes tuvimos que esperar cerca de 40 mins por el expositor anterior inició más tarde de lo planeado. Algunos voluntarios tenían enormes dudas de como reaccionar a estos imprevistos. Costo algo de trabajo llegar a algunos auditorios y... ya. Nada más.

Finito.

CONSOL 2007: Principio

Este año hay muy poco que contar. Si bien tuve la oportunidad de participar como ponente, por cuestiones de trabajo no pude asistir al menos un día completo como el año anterior. Sin embargo la experiencia como expositor fue harto interesante.

De inicio, tuve que llegar a la oficina debido a un reunión que se agendó antes del medio día. Malo, malo, malo. Todavía venía con la presión de probar por enésima vez los demos que iba a presentar. Como sea y como fuera, la reunión se fue como agua y tuve alrededor de una hora para repasar y probar la presentación y los demos y hasta para avanzar algo con la presentación del viernes que iba a presentar Gustavo.

Al llegar mi hora límite, agarré todos mis tiliches y me fui. Tomé el metrobus en Insurgentes y me fui menseando por todo el recorrido hasta llegar a la terminal. Me saltaron los ojitos cuando ví un Starbucks cerquititita de la estación pero recorde mi intención de no tomar café para no ponerme más nervioso. Sin embargo, la panza reclamó lo suyo y pasé al Burguer King que está a lado. Sin prisa pero rápido (no puedo evitarlo) comí mi hamburguesa y salí para recorrer el tramo desde la terminal del metrobus hasta la Facultad de Ingeniería.

El recorrer los extensos jardínes y ver la multitud de chavos y chavas me impuso bastante y a la vez me invadió una vaga melancolía, un sentimiento extraño de "no pertenencia" que me caló muy hondo. Con las manos húmedas y completamente desorientado seguí caminando hacia donde según mi memoria se encontraba la sede, claro, sin preguntar para no notar mi "no pertenencia".

Mi desasosiego se perdió al doblar la esquina y ver de reojo el gran anuncio verde del CONSOL, sin más, me dirigí con la inquietud de encontrar el registro y fanfarrosamente anunciarme como ponente. Fue fácil, estaba a la izquierda de la entrada principal y lo dificil fue conseguir un pedazo de voz para presentarme. En la impetuosidad de mis nervios llegué una hora antes de lo planeado, así que me puse a mensear un rato y a debrayar que hubiera sido de mi vida si la soberbia y ego no se hubieran impuesto. La espera fue larga, más larga que la hora que marcó el reloj, viendo a grupos de alumnos, amigos, amigas, bromear y saludarse efusivamente por la celebración del día.

El reloj marcó la hora pertinente y me acerqué de nuevo al registro para que me ubicaran en el espacio de la ponencia. No lo hubiera hecho. Cuando me llevaron al auditorio me temblaban las piernas y volví a sentir húmedas mis manos.

Era inmenso. Y practicamente vacío.

Faltaban más o menos 10 minutos para empezar y fui acomodando y conectando mi equipo, arrancando las aplicaciones para perder el menos tiempo posible esperando y el voluntario me preguntó si ya iniciaba. Al mal paso darle prisa. Con una breve introducción me aventaron al ruedo y cuando quede de frente a los espectadores prácticamente se me fue el alma.

En fin, ya estaba ahí. Con una voz vacilante, trémula por momentos (que bueno que no grabé nada) fui avanzando lámina por lámina, exponiendo el tema con algunos titubeos (todavía se me agolpan las ideas) y fui viendo como por partes de fue llenando el auditorio, bueno un poco más o menos que la mitad. Cuando llegó la parte de las demostraciones tomé asiento y definitivamente ahí me desconecté del escenario, simplemente era yo platicando lo que iba a demostrar y me fui explicando todo.

Algunas preguntas cayeron, las respondí lo mejor que pude. Seguí con la segunda parte de la demostración, corriendo los ejemplos en Linux (ahora si funcionaron) y cerré solicitando a la audiencia que me acribillara con preguntas. Afortunadamente no me fui en blanco y encontré a más de dos asistentes que me cuestionaron con varios puntos.

Di las gracias, me entregaron mis obsequios y me salí.

Me alcanzaron algunas personas y estuvimos comentando sobre el tema y cosas relacionadas. Y aún me di tiempo para asistir a dos conferencias más, platicar con algunos de los asistentes e intercambiar pato-aventuras con varios de ellos.

Finito.

miércoles, febrero 07, 2007

Pendejez a la mexicana

No se por donde comenzar...... Por el principio pués.

Checando los blogs de la comunidad del Software Libre, me encontré un post en el blog de Xiam que me dejó con los ojos cuadrados.

Resulta que diputados.gob.mx fue objeto de un Google Hack. Aparte de lo malo que es esto, resulta que se encontraron varios archivos piratas, videos pornos y demás menudencias.

Siendo actualmente también un empleado de gobierno, no me sorprende. :O. Pero tampoco es para tomarlo con ligereza. Existen incontables legiones de huevonazos, de jefe pa'rriba, que militan en los diferentes apéndices del Estado que conocemos como Secretarías. Y sí, como dicen, generalmente tienen esas particulares costumbres.

Hay que ser cerdos pero no tan hocicones.

Si la voy a tirar, la pongo en una bolsa o en una caja o agarró a un buen lamebotas para que se deshaga de mis detritus. Hasta para eso son idiotitas. En este caso agarraron a un (obviamente) inútil admin que tal pareciera que su empeño fue demostrar que los sistemas operativos libres son inseguros.

No puedo decir más. Me duele la panza de risa y coraje. Pa'más referencias:


Finito.

martes, febrero 06, 2007

Pater

El viernes pasado fue el cumpleaños de mi padre. 61 años. Si bien nunca ha sido muy afecto a las reuniones y celebraciones este año practicamente el organizó su fiesta.

Asistieron todos sus hermanos, mis primos y familia de parte de mi mamá. Y como acostumbra cuando es anfitrión estuvo re-te movido. La diferencia con años anteriores es que lo ví a gusto, féliz, animado.

Mi hermano le tomo una foto donde lo veo enorme, fuerte, sólido.

A los 9 0 10 años lo molestaba diciéndole que ya estaba viejo; el niño re-te inquieto, más o menos de la misma edad ya me lo ha echado en cara. Durante mi adolescencia muchas veces tuve que escuchar sus regaños, gritos y sermones. Hace poco el mayor de mis hijos me reclamó que no hago más que regañarlo, gritarle y sermonearlo.

Ahora soy padre. Si bien no tuve consciencia cuando nació mi primer hijo, después me cayó el veinte, y además de sentir la resposabilidad y entender el orígen de este cariño paterno-filial reencontré en mi el cariño por mi padre.

Siendo un hombre de pocas palabras, a veces tosco y mal humorado, mucho tiempo me quejé de no sentir cariño o aprecio de su parte.

Realmente, no importa. Quise, quiero y querré a mi padre, al igual que él a mí y yo a mis hijos.

Por toda la vida.

Finito.

Ponencia en CONSOL 2007

El asistir el año pasado al CONSOL fue una de las experiencias que más me ha motivado a continuar con la promoción y uso del software libre. Ver a chavos de prepa y universitarios con ganas de aprender, contrario a lo que pensaba, me emocionó. Y he de reconocer que me "medí" contra varios de los expositores que asistieron, dándome cuenta que me podía aventar y rifarme el boleto.

Pues bien, lo he hecho. Con la onda de evangelización sobre Mono, me animé a hacer una propuesta de ponencia y pues resulta que ahí está... en el calendario del CONSOL 2007.

Miércoles 14 de febrero, 15:30 horas
Auditorio 1 - Salón de Exámenes de Grado
Fac. de Ingeniería, Ciudad Universitaria.
Tema: Introducción al Proyecto Mono.


Algo que me ha limitado de andar invitando a diestra y siniestra, es que es un evento con regi$tro :(. Recientemente alguien me preguntó que si era software libre ¿por qué se cobraba al evento? Pues, para gastos de la organización, traer ponentes, papelería (posters, reconocimientos, gafetes, etc), sin embargo no descarto un escenario ideal donde no se cobrara un centavo.

A los que ya estén inscritos, los espero entonces; a los que no, los invito a inscribirse, no tanto por mí sino por todo el concepto de Software Libre.

Finito.

viernes, febrero 02, 2007

Java vs. Ruby

Java vs. Ruby


¿.NET vs Ruby?

Finito.

miércoles, enero 31, 2007

Un buen comienzo

Ayer se llevó a cabo la primera reunión de este año de la Comunidad .NET de la Cd. de México en el ya acostumbrado espacio en Intersoftware. Llegué casi desde el inicio. Me dió harto gusto ver que el aula que nos asignaron estaba casi llena. Rául Guerrero ya había iniciado su presentación sobre WPF, sin embargo no me perdí mucho de sus explicaciones.

Como todo un desarrollador, Raúl estuvo demostrando XAML e iba aplicando los cambios que nos iba explicando a manita. Real Man. Hasta la fecha ha sido la mejor demo de WPF que he visto, alcance a entender varios conceptos y la analogía que hizo sobre CSS ayudo bastante para aligerar el concepto.

Después, Octavio Télis en su acostumbrada exposición de temas avanzados (entry level diría él), continuo con el tema de delegados, eventos, métodos anónimos y su mezcla con tipos genéricos.

Y finalmente, un nuevo miembro en el equipo de expositores, Juan José Karam, se aventó una práctica introducción al manejo de versiones de código con VSTS.

Al lo largo de las exposiciones fueron llegando más personas a la reunión, al grado que tuvimos que salir a pedir sillas adicionales para acomodarlos. Raúl tomo algunas fotos de los expositores y la concurrencia, así que pronto nos verán en línea. Se repartieron varios souvenirs y al final hubo la esperada rifa de dos libros de Microsoft Press.

También tuve el gusto de encontrarme con Alfonso Lara, un excelente desarrollador y amigo y platicar un rato junto con los demás expositores en "after-hours". Espero que para la próxima reunión nos puedan asignar un aula más grande. Seguramente se va a necesitar con tanta demanda.

Finito.

viernes, enero 26, 2007

Pluralizando

Una de las cosas más excitantes de Rails son los generadores. Son scripts Ruby que generan (¡oh sorpresa!) código Ruby con diferentes fines. Existen varios tipos de generador: controller, migration, model, view, etc. Cada uno crea varios scripts y directorios con las funciones mínimas del tipo escogido y con las referencias a los módulos necesarios.

Así, tenemos que al usar el generador de modelos, le pasamos un parámetro que es el nombre y genera una clase, un conjunto de pruebas y la correspondiente migración para crear la tabla en la base de datos.

Para generar todos estos archivos, se usan plantillas y además algunas funciones del framework para nombrar clases y archivos. Recordemos que Rails tiene un principio

Convention over Configuration


Esto significa que se prefiere usar estándares para los nombres de clases, tablas, objetos, referencias y demás items en lugar de estar generando mega-archivos de configuración (web.config o web.xml por ejemplo). Por ejemplo, al usar

./script/generate model account

se crea un modelo Account que se compone de los siguientes archivos y directorios:

Modelo: app/models/account.rb
class Account <>

Prueba: test/unit/account_test.rb
require File.dirname(__FILE__) + '/../test_helper'

class AccountTest <>

Fixture: test/fixture/accounts.yml

Migración: db/migrate/XXX_add_accounts.rb
class CreateAccounts <>

Si observamos un poco el código generado se verá que a partir del nombre del modelo "account" se han derivado varias etiquetas para cada uno de los items:





Mi modeloaccount
Nombre de claseAccount
Clase de pruebaAccountTest
Tabla en la BDaccounts

Se puede ver que el nombre de modelo se le aplica el estilo Pascal (CamelCase) para obtener el nombre de la clase y que se hace en plural para el nombre de la tabla en la base de datos. Y esto aplica incluso en sustantivos irregulares, por ejemplo:





Mi modeloperson
Nombre de clasePerson
Clase de pruebaPersonTest
Tabla en la BDpeople

"Person" => singular, "People" => plural. Brillante ¿no?

Pero..... todo se maneja en inglés :( Yo no spiko spaniol.

Como siempre el gran dios google tiene varias respuestas. La primera la encontré en HackerDude que nos habla de algo llamado "Inflector" (¿alguien cursó latín o alemán?) y encontré todavía más detalle en BlogOnRails. De inicio es algo harto sencillo: expresiones regulares. Se tienen que agregar o sustituir varias expresiones regulares para que Rails sepa como hacer plurales o singulares, algo como esto:

Inflector.inflections do |inflect|
inflect.plural /$/, ‘es’
inflect.plural /s$/, ’s’
inflect.plural /z$/i, ‘ces’
inflect.plural /([aeiou])$/i, ‘\1s’
inflect.plural /_(.*)$/, ’s_\1′
inflect.singular /s$/i, ‘’
inflect.singular /ces$/i, ‘z’
inflect.singular /(.*)s_(.*)/i, ‘\1_\2′
inflect.irregular ‘user’, ‘users’
inflect.irregular ‘estado_civil’, ‘estados_civiles’
inflect.uncountable %w( pantalones )
end


Y ¡listo!. A probar con:





Mi modeloorganizador
Nombre de claseOrganizador
Clase de pruebaOrganizadorTest
Tabla en la BDorganizadores

Este esquema no es perfecto, pero es pragmático ;)

En otro orden de ideas, ya está agendada la siguiente reunión de la Comunidad .NET de la Cd. de México, la orden del día es la siguiente:

Utilizando Delegados (Segunda Parte) - Octavio Telis
Estilos y Control Templates en WPF - Raúl Guerrero
Source Control en Team Foundation Server - Juan Karam
Por Confirmar Tema - Héctor Obregón

El lugar y la hora:
Fecha: Martes 30 de Enero
Horario: 7:00 a 9:50 p.m.
Lugar: Intersoftware Training
World Trade Center - Piso 35
Mexico D.F.

Y todavía pa'que se animen, habrá rifa de libros entre los asistentes. ¡Qué esperan! Nos vemos el próximo martes.

Finito.

martes, enero 09, 2007

Yo quiero uno asi

Después de varios rumores y chismes y demás, apareció finalmente el mentado iPhone.

Como es común, el anunció se hizo durante el CES de este año. El CES es el evento que aprovechan la mayoría de los fabricantes de productos electrónicos para anunciar las novedades que estarán comercializando a partir de este año y las maravillas que ya están probando para seguir extrayendo dinero de los pobres consumidores.

He aquí que Steve Jobs aprovechó el espacio para anunciar el iPhone.

Recuerdo que alguna vez se hizo una encuesta/discusión acerca de que item te sería más útil se te quedarás en un país extranjero sin maletas, ni nada a cuestas. Las opciones eran:
  • Tu PDA
  • Tu laptop
  • Tu teléfono celular
Finalmente, el ganador en la encuesta y la discusión fue el teléfono celular. Es increíble el grado de dependencia que puede llegar a tener uno en semejante dispositivo y es que es algo muy, muy, muy personal. Casi como el cepillo de dientes. Al menos, el mío así lo veo.

Y además, creo que bien usado (y equipado) en el perfecto companion de casi cualquier persona. La industria de los teléfonos celulares ha venido haciendo ofertas cada vez más interesantes pero definitivamente nada como lo que se presenta con el iPhone.

Es que eso de mezclar comunicación, entretenimiento, movilidad, integración, facilidad de uso y además ser internet-enabled no es nada fácil. Y una vez más Apple da el primer golpe: el que pega primero, pega dos veces (iPod (!) vs. Zune (?)).

Inmediatamente se me vino a la memoria el monito (Allard?) que dirige la nueva serie de productos de consumo en Microsoft, el papá conceptual de Zune que usa como motivación el video ese de Steve Jobs donde más o menos dice algo así:
El problema con Microsoft es que simplemente no tienen buen gusto. Simplemente no lo tienen.

Y vaya que si tiene razón.

Finito.

jueves, enero 04, 2007

And the winner is...

Curt Hibbs ha publicado en su blog, la referencia al índice TIOBE en la cual declaran como lenguaje de programación de 2006 a Ruby.

We are glad to announce that Ruby has become "Programming Language of the Year 2006". Ruby has the highest popularity increase in a year of all programming languages (+2.15%). Runner up this year is JavaScript with +1.31%. Both languages are boosted by their corresponding frameworks, Ruby On Rails and Ajax.
Voy terminando de leer Ruby on Rails: Up and Running y si bien el libro puede mejorar significativamente, lo que me sorprende completamente es Rails. Rails es un marco de desarrollo basado en Ruby, se conoce por casi increible capacidad de generar una aplicación "completa" en minutos. En lo particular me parece una perfecta implementación de una fábrica de software. Tendré que preparar un post más completo para sustentar el último dicho.

Todavía falta que lo vea en un sistema en producción, no conozco ninguno todavía y también explorar Rails al grado de ver que más puede generar aparte de aplicaciones web (¿servicios web? ¿integración?) y también, seguramente debe existir algo similar implementado con .NET o Mono (¿Monorail?).

Ruby es un lenguaje interesante. Todavía no lo entiendo del todo, como que no aplica el clásico ejemplo del "Hello World!" sin embargo tiene una simplicidad aparente que con Rails raya en lo ridículo. Pa'muestra un botón:

class Photo < ActiveRecord::Base
  has_many :slides
end

class Slide < ActiveRecord::Base
  belongs_to :photo
end

Con este par de declaraciones se ha realizado una relación uno-a-muchos. Así nomás. Y funciona ¡eh!. Tienes una consola que carga tu modelo de dominio, o sea tus clases, y puedes ir probando al vuelo tus objetos.

Hasta miedo tengo de voltear a .NET y Mono. Ahora los veo de manera distinta.

Finito.

martes, enero 02, 2007

Numeralia

Mes con más visitas: Noviembre (450+)

Los tres links más visitados:
  1. http://chilli-coder.blogspot.com/2006/07/fbricas-de-software-la-otra-visin.html
  2. http://chilli-coder.blogspot.com/2006/05/da-vergenza.html
  3. http://chilli-coder.blogspot.com/2006_09_01_archive.html
Estadística en imágenes



Visitantes a la fecha: 2,421 desde el 1 de agosto de 2005.

Visitantes por venir: 1'000,000,000 :D

Finito.

domingo, diciembre 31, 2006

Cinco minutos antes de la cuenta atrás

Este es el segundo año que cierro con el blog. Me sigue sorprendiendo lo útil que es esta memoria electrónica. En primera, por la certeza de voltear atrás en el tiempo y ver como voy cambiando con el paso del tiempo, cosas que dije, pensé y también en las que cambié de parecer. Si bien este blog está muy orientado a tecnología, en algunos momentos se han entremezclado cosas de mi.

¿Cuál es este resumen de este año? Me cuesta trabajo decirlo ahorita mismo. Generalmente no pongo mucha atención a lo que ya se hizo. Vivo constantemente pensando en las cosas que quiero hacer. Por eso me es útil esto del blog. Puedo volver unos meses atrás y verme desde fuera.

En las cosas que quiero hacer el próximo año, solamente tengo grandes esbozos. No soy del tipo de Mitch Deny que hace una planeación muy precisa, pero interesante de sus planes del siguiente año.

Lo que quiero hacer el año que viene es lo siguiente:
  • Evangelizar sobre Mono a quien quiera y a quien se deje :D.
  • Aportar algo al proyecto Mono, sobre todo en la parte de colas de mensajes y la implementación de Olive.
  • Ganar experiencia con Ruby
  • Sacar adelante y promocionar el concepto de SOA a la Mexicana
  • Producir un podcast.
  • Crear un grupo de usuarios de Mono.
Me faltan incluir aspectos personales, de trabajo, familiares y demás. Todavía no están del todo definidos.

Solo me resta agradecer a aquellos que se han tomado el tiempo de leer mis oblicuos pensamientos y doblemente agradecer sus comentarios. Les deseo un año 2007 con mucho trabajo, con retos, algunos fracasos y muchos triunfos y que al final se sientan satisfechos con lo que consiguieron.

¡Féliz Año 2007!

Finito.

miércoles, diciembre 20, 2006

Fin de Temporada

Ayer se llevó a cabo la última reunión de la Comunidad .NET de la Cd. de México. Atendiendo a la convocatoria y por lo significativo de la reunión asistí con mucho gusto. Me parece muy importante resaltar y agradecer el trabajo que han venido haciendo Héctor Obregón, Octavio Télis, Raúl Guerrero y varios más que tomaron como suyo el compromiso de mantener viva la comunidad. No puedo decir más que ¡gracias!

Vi varias caras nuevas, espero que les interese participar en las siguientes reuniones y que se sumen a este espacio de colaboración. Lo importante es que la comunidad crezca y se vaya alimentando con otros puntos de vista, otras necesidades y nuevas ideas que compartir.

Raúl anda clavadísimo en el tema de Serialización y ayer dió una excelente presentación del tema. Yo anduve medio oyendo ya que me preguntó que si podía aventarme la presentación de Mono que compartí la vez anterior en petit comite. Con todo gusto le dije que sí y me pasé repasando la presentación durante su exposición.

A continuación estuvo Octavio Télis platicándonos acerca de los delegados. Algo que me llama la atención de Octavio es su casi enciclopédico conocimiento de .NET.

Finalmente, fue mi oportunidad de pararme al frente y hablar de Mono. Me fuí más o menos rápido ya que los conceptos son idénticos a pesar que los conocemos con distintos nombres (CLI vs. CLR, MSIL vs. CIL, etc) y la presentación simultánea de ejemplos .NET y Mono creo que siempre es de interés para la audiencia (hasta la fecha no se han quejado). A los lectores del post anterior no les caera de extraño cuando mencione que pasó al hacer el cambio a Ubuntu para hacer las demos sobre Linux. Simplemente no funcionaron :@ Resulta que no instalé todos los paquetes necesarios y puras fallas. Simplemente no arrancaron.

Raúl, como el tipazo que es siempre, me dijo que no me estresara, que es normal que pase en medio de cualquier presentación. Alguien que también me brindo su apoyo fue Akin0, que llegó casi desde el inicio de la reunión. Con el gusto de dar a conocer Mono y estas muestras de solidaridad ¿qué más puedo pedir? :D

Un punto interesante fue la pregunta de uno de los asistentes de primera vez (creo que de ¿tacsa? o algo así...) fue de como hacer que dos aplicaciones se comunicaran entre sí. Esto fue como una chispa que se anidó en mi cabeza y en algún momento de la madrugada y después de la charla que nos reventamos de regreso a casa Akin0 y yo dió como resultado la idea de SOA a la Mexicana.

Si, si, si. Ya se que no van a faltar las incontables comparaciones con el famosísimo podcast de Carlos Madrigal Proyectos a la Mexicana, pero buscaremos que tenga su propio sabor. El punto es dar a conocer como hemos ido entendiendo los conceptos de integración, SOA, ESB y demás con las experiencias en el trabajo durante los últimos dos años. Hablo en plural (hemos) por que para realizar esta idea voy a tener la ayuda de dos excelentes amigos y compañeros de trabajo: Gustavo de la Cruz Tovar y Javier "El Tuzo" Cortes López.

Ya vendrán más detalles de SOA a la Mexicana. No se desconecten.

Finito.

lunes, diciembre 18, 2006

Mudanzas y encuentros

A veces me desespera ser tan desesperado. Siempre busco la ruta del mínimo esfuerzo aún y cuando sea más esfuerzo hacer el cambio. El último cambio fue de distro.

Por enésima vez cambié la distro que tenía instalada en mi laptop. Ahora fue de Ubuntu a Fedora. ¿La razón? Tener acceso más fácil a las últimas versiones de Mono. Sin embargo después de unos meses de trabajar con Ubuntu el cambio no fue tan fácil como pensé de inicio.

Ya tenía a la mano el DVD para instalar Fedora en su versión 5, sin embargo, por ganas de desperdiciar ancho de banda descargué la imagen para FC6 solo para ver en la página de descargas de Mono que solamente soportan hasta la versión 5. Pus bueno, agarré mi DVD y ¡órales! a instalar. La siguiente actividad fue la consabida actualización de los paquetes instalados, cosa que en mi caso significaban cerca de 600 MB de descarga.... ¡qué onda w!

Pus aún y así colgué mi noble yegua a la pichurrienta red de la ofi para ver con asombrosa impaciencia el goteo de bits de la red. Y pasó un día, dos, tres, cuatro y me cargó la tiznada. Mi transparente paciencia se pegó un tiro y al querer buscar el modo de acelerar descargas, me encontré un plugin para yum que segúnesto es para seleccionar los mirrors más rápidos. Si pero no. Como fuí descargando por grupos ya que me fue imposible dejarla más de 4-6 hrs conectada, iba seleccionando que si por letra, por tamaño, por paquete, por hora, por lo que fuera tratando de desmenuzar el mazacote de descargas que tenía en las manos.

Entre todo ese malabar de paquetes, sitios, versiones y conexiones se batieron los datos de los repositorios. Varios curiosos mensajes aparecieron al momento de hacer el famosísimo "yum update" para que al final resultara que ningún mirror podía validarse contra las firmas que tenía registradas. Aplique la mentada formula de "yum clean all; yum makecache" y conseguí hacerlo funcionar un par de veces más pero fue todo. De ahí se me ocurrió quitar el maravilloso-plugin-acelera-mirrors y mejoro un tantito la cosa pero con un par de descargas llegó al mismo final.

'Tons que agarró y que instalo de nuevo FC5 (que ganas de perder el tiempo ¿no?) y ahora no me hice del maravillosos-plugin-acelera-mirrors para las actualizaciones. Y pasaron uno, dos, tres, cuatro días y yo sin terminar. Siempre los mismos mirrors, siempre la misma lentitud, siempre un buen de tiempo perdido. 'uta madre. :@

Y además, no me encontraba del todo cómodo. FF 1.5, Evolution 2.6, usuario root para instalar (aprendí a configurar sudo pero por ahí algo me late que también influyo en la revoltura de repositorios). No, no, no.

De vuelta a Ubuntu. Lo primero que noté (bueno, ya lo había notado antes pero no le di importancia) es el hecho de que existe un repositorio Ubuntu para México (http.//mx.archive.ubuntu.com) que si bien no sé si se encuentra físicamente aquí en México, al menos atiende las peticiones de volada. Y además como Ubuntu viene con las versiones más recientes de sw, me siento más a gusto. Y menos tiempo perdido. La única desventaja es la lentitud respecto a las actualizaciones de Mono ¿qué tan difícil es hacer paquetes para Ubuntu? :S

La otra cosa interesante de la semana pasada son libros. Un bonche de libros. Gustavo decidió que era tiempo de comprar libros y pus le encargue mi lista (que no son muchos) y ya llegaron.

En mi breve selección se encuentran Software Factories por Greenfield et alias, Microsoft Windows Comunication Foundation: Hands on! por McMurty et alias, Practical Software Factories with .NET por Lenz y Enterprise Integration with Ruby por Schmidt, éstos último en versión electrónica, amén de otro bonche de libros que encargó Gus.

Entre los otros libros, encontré Ruby on Rails: Up and running por Tate, el cual de una manera sencilla te va introduciendo al mentadísimo mundo de Rails: metaprogramming, scaffolding, ActiveRecord, etc. Mucho de lo que he visto de inicio me hace un deja vù con las software factories. No tengo muy definida la idea, voy a tener que amarrar más conceptos.

En la parte de Ruby, me encontré con algundos feeds y lo más sorprendente con un incipiente grupo de usuarios Ruby en la Cd. de México. El breve perfil del organizador lo presenta como un ingeniero de soporte Rational de IBM ¿? El grupo lo viene anunciando en dos lugares Google Groups y Yahoo! Groups así que si les interesa apúntense.

Por último, mañana se realiza la última reunión de la Comunidad .NET de la Cd. de México en el lugar acostumbrado (WTC, piso 35, Intersoftware).

Finito.

martes, diciembre 12, 2006

Más voces sobre Open Source y .NET

Algunos bloggers, MVP's y desarrolladores han empezado a comentar acerca del pobre avance del movimiento Open Source en relación a la tecnología .NET.

Entre los que han comentado se encuentran Ayende (NHibernate), David Hayden (MVP C#), Jeremy D. Miller (Agile advocate) y como abogado del diablo Frans Boume (MVP ASP.NET).

El punto es la siempre infaltable comparación con la comunidad Java que ha producido hartos proyectos OS, ya sea bajo la tutela de IBM, Sun, Red Hat o whoever. Se comenta la actitud que ha la fecha ha tenido Microsoft (ni te veo ni te oigo) respecto a los pocos proyectos que existen en .NET y como al final lo único que han demostrado es que le gustan las ideas, pero no compartir.
  • NDoc -> Sandcastle
  • Spring.NET -> ObjectBuilder (bueno, más o menos)
  • NUnit -> MS Test
  • Log4net -> Logging Application Blog
Mi punto es que es seguro, un axioma de hecho, que Microsoft no va a fomentar proyectos Open Source. Por eso mi apuesta por Mono. De no ser así, jamás hubieran visto la luz implementaciones No Windows. Entonces, se debe arrancar como se ha hecho hasta ahora, aunque sea "copiando" proyectos Java exitosos (Ant, JUnit, Spring, Hibernate, IBatis) para poco a poco ir madurando ideas "propias" , esto último suena medio limitado y egoísta. Al fin y al cabo estamos resolviendo los mismos problemas con los mismos conceptos (los patrones son independientes de la plataforma ¿cierto?

Una vez más regresamos a la gente, a la confianza, al compromiso, a los intereses comunes. Más que una empresa, estos valores e ideales deben ser el motor de cualquier comunidad. Incluso esta potencial comunidad tecnológica.

Finito.

Google entra al juego de las patentes

Por medio del blog de NeCuDeCo me entero que Google ha conseguido una patente sobre la interfaz gráfica de usuario :S ¡que onda!

Las patentes no son buenas, hacen daño, dan pena y se acaba por llorar....

Finito.

lunes, diciembre 04, 2006

Una API para comunicar a todos

Windows Communication Foundation (WCF) es una interesante plataforma de integración. Consolida varias de las tecnologías disponibles en Windows de MOM (Message Oriented Middleware) en una sola API.

En el proyecto Mono existe el subproyecto Olive cuyo objetivo es conseguir una implementación de las API's de WinFX/.NET3 entre las que se incluyen WCF. Sin embargo considerando la no dependencia de plataforma inherente a Mono, se ha dejado fuera el soporte a MSMQ. La razón es obvia: no existe fuera de Windows.

Sin embargo, el soporte de colas (queueing) es uno de los factores que consiguen soportar grandes volumenes de transacciones en ambientes empresariales. En lo particular creo que MSMQ ha sido desgraciadamente desaprovechado y prácticamente ignorado por varios arquitectos. Con WCF, se presenta de nuevo como una herramienta más a nuestro alcance y creo que también debe formar parte de Olive pero ¿cómo resolver la ausencia de MSMQ en otras plataformas?

De inicio pienso en ActiveMQ. Un proyecto Apache que también ha sido utilizado en algunos proyectos ESB Open Source. Una ventaja que recientemente ví es que funciona (al menos en la doc) en Windows y en Unixes. Igual y se puede pensar en IBM WSMQ que tiene el mismo soporte multiplataforma. La idea es entonces, construir una implementación abstracta de queueing para WCF y construir implementaciones especificas para diferentes productos. Y después integrar esto en Mono de manera que se complete el alcance de Olive.

Existe un pequeño inconveniente. Estoy en el proceso de aprender WCF :D. Esto implica que paso mucho tiempo en Windows para estar consultando la documentación en línea. Si bien también está disponible en MSDN, estoy limitado por la disponibilidad de una conexión a internet. El punto final es que voy a trabajar más tiempo en Windows y de ahí se deriva otro pequeño reto, la facilidad de compilar Mono en Windows.

La documentación que existe hace referencia a cygwin como "plataforma" para construir Mono en Windows. En el sitio de Paul Johnson existe una detallada guía para preparar el ambiente ya que requiere una combinación muy específica de versiones de las herramientas de construcción que realmente no he conseguido armar.

Pero bueno, los puntos a conseguir son los siguientes:

- Aprender WCF, particularmente los puntos de soporte a queueing.
- Aprender ActiveMQ y su binding con .NET
- Descubrir o crear el API para una integración genérica de WCF con productos de queueing.
- Llevar este código a Mono.
- Aprender a configurar un ambiente para compilar Mono en Windows.

Voy a abrir otro backpackit para darle seguimiento a este asunto.

Finito.