martes, septiembre 05, 2006

Acerca de las fábricas de software

El viernes pasado, Eugenio Pace anunció en su blog la liberación de unos HOL para arquitectos. El objetivo de los ejercicios es enseñar el cómo acerca de:
  • Modificar la estructura inicial de una solución Smart Client
  • Modificar las recetas (recipes)
  • Modificar la plantilla del contenedor (shell)
  • Y de paso, proporcionar una breve vista al interior del GAT y del GAX

La idea de las fábricas de software es producir software dentro de un marco controlado que permite entregar armazones y recetas para complementarlos con las necesidades específicas de cada proyecto.

En el ambiente de Eclipse, un IDE Open Source muy popular, también están aprovechando un concepto similar a de las recetas. En dev2dev, un sitio de difusión de BEA, apareció un artículo muy interesante que trata acerca de como construir cheat sheets, acordeones pa'los mexicanos, en Eclipse. Los cheat sheets son un mecanismo integrado para presentar mini-tutoriales con instrucciones simples, concisas y macizas para realizar una tarea en varios pasos ¿suena familiar?.

Como ven, la oferta de las fábricas de software llega a todos lados.

A propósito del término, tenía pendiente incluir una referencia a un comentario titulado Palabras peligrosas posteado por el mago en la Comunidad Java. Se me hace harto importante este post, debido a la reflexión acerca del valor o sentido de las palabras y cómo la selección de las mismas puede construir ideas, en el mejor de los casos, erróneas conllevando al final decisiones completamente fuera de lugar.


Finito.

A romper el cochinito...

Aparecieron ya los precios para los diferentes sabores de Windows Vista y estos van desde USD$199.00 para la versión más simple, Windows Vista Home Basic, hasta los USD$399.00 para la versión Windows Vista Ultimate.

Si ya tienes una licencia Windows, puedes optar por la actualización que va desde USD$99.95 para llegar a Home Basic o hasta USD$259.00 para tener tu PC con Windows Vista Ultimate.

Ahora ¿qué pasa con lo que necesitas gastar para que la PC sea Vista Capable? Seguramente la inversión más fuerte será en tarjetas de video para poder soportar las nuevas tecnologías de presentación aunque asegurar el desempeño con un procesador más potente también será un requisito. Esto solo signifca más lana....

Una vez más: ¿realmente la vale la pena?

Finito.

jueves, agosto 31, 2006

3108 - Día del blog

Lo que es la ignorancia.... Pués resulta que hoy, 31 de Agosto o 31-08, es el día internacional del blog. De acuerdo a la nota publicada en BBC Mundo

Por segundo año consecutivo, los bloggers en todo el mundo celebran su propio día internacional. (La) idea era que, durante el 31 de agosto, todas las bitácoras digitales en el mundo se animaran a recomendar cinco blogs "preferentemente diferentes a su propia cultura, punto de vista y posición".


Ok, me uno a la celebración y he aquí mis cinco blogs de referencia:
  • Scott Hanselman's Computer Zen - Este fue uno de los primeros blogs que empecé a leer desde un feed.
  • Firedancer.Unleashed! - Interesante blog de una chica geek en Malasia
  • La famosa X - Me encanta leer las espontáneas y profundas introspecciones al lado de cuentos y anécdotas personales.
  • Less is better - John Lam encuentra el balance perfecto entre ser un total geek, esposo y padre de familia.
  • Pozo Técnico - Todo un vómito cerebral sin tanta formalidad y escrito en “mexicano”. Desmadre, humor y desarrollo de software.

Ahora, ¿cuándo se va celebrar el día del podcast?

Finito.

miércoles, agosto 30, 2006

Easy but not easier

Desde hace un par de semanas he estado jugueteando (thinkering around) con Virtual PC 2004 SP1 aplicando la ironia natural que me caracteriza: Estoy creando máquinas virtuales de distribuciones Linux.

Como comenté anteriormente, había venido usando VM Ware para esto de la virtualización, pero ya se me acabaron las cuentas de correo para solicitar trials y eso de andar consiguiendo números de serie no se me da mucho que digamos.

Entonces al conocer la oferta cero costo de VPC, pues doblé mis manitas y a empezar a usarlo. Hasta ahora ha sido al menos interesante. Me voy a retractar de lo dicho y ya estoy viendo que VPC es más portable que VM Ware. Si bien te hacen creer que solo puedes virtualizar instalaciones de Windows, no es cierto, si miras bien encontrarás una opción que dice bien clarito Otros y que obviamente es la que dió pie a estos ejercicios.

Después de asistir a CONSOL 2006 quedó rebotando en mi cabeza Ubuntu, que por decirlo de algún modo es la distro de moda. Así que por ahí empecé. Siendo una derivación de Debian esperaba que fuera harta difícil de instalar, más no fue así. Estos monitos de Ubuntu vaya que se han aplicado. Es la clásica instalación de next, next, next... digo siguiente, siguiente, siguiente.... por que hasta eso: desde la instalación la distro funciona en español.


Pues bien, funcionó y ya.

Después me lancé por una distro que todos en CONSOL tacharon como dura: Gentoo. El clásico motto de Gento dice:
Si John Wayne hubiera sido usuario Linux, Gentoo sería su distribución.

Después de mi experiencia con Linux from Scratch me creí listo para esta experiencia. ¡Y vaya que si es experiencia! Cuatro días (no consecutivos) para llegar al mugroso prompt. La idea detrás de Gentoo es ir controlando cada detalle del proceso de instalación y compilando cada paquete que instalas. Incluso el mismo kernel. Es rudo.



Uno de los detalles padres que le encontré a VPC fue que durante la instalación de Gentoo solo estuve guardando el estado de la máquina virtual y continuar donde me quedé al día siguiente.

El punto para mí es: Ubuntu es buena, es fácil de instalar, pero es demasiado fácil para el usuario final pero no para el experto. Gentoo te da control absoluto pero es demasida complicada para instalar, aún para un experto. A mí me gustaría una distro que se instalé en un par de horas con un perfil (laptop, desktop, server, appliance) y que después de diera chance de hacer una puesta a punto, punto por punto.

Ahora que tenga chance y me lleguen los CD's, voy a instalar Ubuntu en la PC de casa. Lo único que me preocupa es como le voy hacer para poder jugar mis juegos de PC. Dicen que existe Wine...

Finito.

Reunión de Amigos

Ayer se llevó a cabo la reunión mensual de la Comunidad .NET del D.F., la cual tuvo de inicio la participación de Raúl Guerrero con el tema Probando nuestros desarrollos con NUnit, la cual me agradó particularmente ya que creo que fue una buena introducción al tema sin caer en una presentación del manual y tocando puntos que tienen que ver más con la práctica, con el uso diario de esta herramienta.

Complementando un comentario que hizo Raúl, que se refirió a la capacidad que tiene VSTS de realizar pruebas de cobertura de código, también existe una aplicación Open Source para tal efecto: NCover. Esta herramienta provee estadísticas acerca del código, señalando cuantas veces se ejecuta cada línea de código. El uso más común del análisis de la cobertura de código es medir que tan detalladamente las pruebas unitarias ejercitan el código. También quiero hacer referencia a un libro del cual ya comenté anteriormente pero me parece tan bueno que no puedo dejar de recomendarlo: Pragmatic Unit Testing in C# with NUnit de la serie Pragmatic Starter Kit. Es un libro muy práctico (el título lo indica) fácil de leer, lo aplicas desde el primer día.. en fin. Corran, no caminen para comprarlo.

La siguiente plática de la comunidad estuvó a cargo de Octavio Télis que generalmente tiene la costumbre de hablarnos de temas muy avanzados de .NET, en esta ocasión habló de LINQ. Y finalmente Héctor Obregón hizo una demo muy curiosa del reconocimiento de voz incluido en Windows Vista.

Realmente es sorprendente que ahora en un sistema operativo venga integrada esta funcionalidad. Para aquellos fanáticos o ya añejos, Star Trek seguramente les suena familiar. Era clásico en esa serie ver como Mr. Spock o el Capitán Kirk pedían información a la computadora simplemente preguntando y ésta respondía de la misma manera.

Sin embargo, al igual que la vez anterior, lo mejor estaba por venir. Al estar recogiendo Raúl las encuestas, hubo una persona que de hecho estaba sentada a mi lado, que espontáneamente se presentó como Iver. ¿Tú eres Iver? - si... ¡Hola! Soy ChilliCoder... Una vez más los ciberespacios se rompieron y me encontré con la persona detrás del blog.

También se anunció que a finales de Octubre o principios de Noviembre se va a realizar el Community Day, tentativamente en el Campus Cd. de México del Tec de Monterrey. El Community Day es el evento para las comunidades o grupos de usuario. A diferencia de la reunión mensual, el Community Day es un evento de todo el día (o al menos de 9.00 a 17.00) con varios ponentes y patrocinado enteramente por Microsoft. Igual, ya se les avisó, no falten.

Finalmente, a modo de agradecimiento a nuestro patrocinador, Intersoftware nos facilita el espacio y los medios para realizar estas reuniones mensuales.

Finito.

jueves, agosto 24, 2006

Tarde de lluvia, noche de podcasts

Después de la impresionante tromba que azotó gran parte de la otrora Magnífica Ciudad de México, se desató el caos en el tráfico y en los medios de transporte. El metro estaba parado en la estación, así que se me hizo fácil salirme a caminar a la siguiente parada para tomar el metrobus que de igual manera no se daba abasto ante la demanda desmedida por parte de los usuarios. Regresar al metro fue mi mejor opción en ese momento, idea que deseché inmediatamente al ver los ríos humanos que entraban y salían de la estación, desesperados por ver al convoy naranja varado en el andén.

Sin más consuelo que salir con luz de día del trabajo, recordé que había grabado los últimos podcasts de mis subscripciones en mi reproductor mp3 taiwanes de reciente adquisición (¡cómprelo! ¡bara, bara!).

Entre las actualizaciones estaba el esperado 9° episodio del Podcast de Superneurona, de Raúl Guerrero que estreno producción, intro y hasta rola para el cierre del programa. Estupendo trabajo.

También traía dos entregas de un podcast nuevo que encontré navegando por ahí: Roso - Café Podcast. Entretenido, ágil y ameno. Me falta escuchar el más reciente y espero que pronto haya más.

Y como todo un geek, escuché también la entrega de esta semana en los podcasts de Dr. Dobb's Portal, en el cual vienen publicando una serie de entrevistas con Peter Provost, del equipo de Patterns & Practices. Los temas a la fecha han sido harto interesantes y creo que sería una buena ayuda para todo aquel que esté interesado en CAB.

No soy english native speaker y mi listening se está oxidando, así que tengo que reducir la velocidad del reproductor para entender lo que se está diciendo.

Finito.

miércoles, agosto 23, 2006

Which Programming Language Are You?

You are Java.  You are very strong and sturdy, but this makes you a bit sluggish.
Which Programming Language are You?



Por más que lo repetí tres veces salió lo mismo.

:(

Finito.

martes, agosto 22, 2006

Ejemplos reales

Todos los vendedores de software llegan ofreciéndote Pruebas de Concepto para que te convenzas de lo bueno que es su producto, pocos son los que te demuestran que ellos mismos lo usan.

En el blog de Brian Harry, el último post muestra como Team Foundation Server está siendo usado por varios equipos de Microsoft.

Y pensar que andamos batallando con una sola instalación dual server.

Finito.

CONSOL 2006: Presentaciones

Encontré un sitio donde están varias de las presentaciones que se dieron en el CONSOL 2006. Como se puede ver varias son en formato .pdf, otras para OpenOffice y las menos quién sabe con que programa se puedan presentar. Pero bueno, alguien les ha de encontrar el modo.

Finito.

domingo, agosto 20, 2006

Nueva apariencia de los blogs de Carlos Madrigal

El buen Carlos Madrigal, harto conocido en el medio podcastero y de desarrollo, ha tenido la ocurrencia mover sus populares sitios Pózo Técnico y Podcast del Pózo Técnico. Lo bueno es que seguimos teniendo acceso mediante las ya conocidas url's.

Desde la presentación es obvio el cambio y Carlos tuvo el excelente detalle de llevarse todo el historial de posts y comentarios.

Así que si de repente se llena su RSS reader de posts de Carlos, no sé espanten.

Finito.

No sé por que pero sabía que iba a pasar...

Leyendo los posts del fin de semana encontré éste de Héctor Obregón mediante el cual me enteré de que Microsoft anunció la disponibilidad de XNA Game Studio Express, herramientas de desarrollo para Xbox.

Ya sabía que que esto iba a pasar.

Para más detalle acerca de esta nueva entrega chequen el FAQ de XNA.

Finito.

sábado, agosto 19, 2006

CONSOL 2006: Jarro Negro y más

Una de las principales razones para asistir a CONSOL 2006 fue la ponencia Jarro Negro: una distribución Linux creada en el CCH Naucalpan. Siendo ex-alumno del CCH Oriente sentí una enorme curiosidad y nostalgia por esos años cecehacheros.

La presentación giró en torno a las características de la distro, al cluster que armaron (alumnos y profesor) e incluso a un ejercicio de streaming que hicieron en la escuela. Lo interesante es que armaron la distribución, cosa nada sencilla, que armaron un cluster reciclando equipos viejos, cosa que tampoco es sencilla y que solo son alumnos de bachillerato (generalmente entre 17 y 19 años). Si bien son escandalosos los casos de niños hackers de 14-15 años, este caso también debería serlo y aún más por que tiene varias aportaciones a la sociedad.

Un abrazo y felicitación enorme para este equipo.

Como un tema relacionado, presentaron la revista Software Libre para Ti, una iniciativa emprendedora de un grupo de jóvenes involucrados con la distro Jarro Negro. Es una revista en línea, descargable en formato pdf para leerla en la PC con varios artículos introductorios al ambiente Linux y Free Software en general.

Pues bien, como muestra es interesante y emocionante, así que en su oportunidad, prueben la distro, lean la revista, colaboremos en ambos proyectos y adelante.

Finito.

Bonche de noticias Microsoft

Esta mañana me he levantado y al darme la vuelta me he ido rodando de la sorpresa de encontrar tantas y tan variadas noticias alrededor del mundo Microsoft. Lo primero que encontré es que después de casi tres años de lanzamiento aparece el Visual Studio 2003 .NET SP1. ¿Qué tiene esto de relevante? Anteriormente se decía que no podías usar una aplicación o sistema operativo de Microsoft sino hasta que apareciera el primer Service Pack.


Los Service Packs son actualizaciones que corrigen errores de programación que generalmente abren brechas de seguridad y que al ser varios, mejor se empaquetan en una gran entrega. Así que cada vez que se publica uno, se está reconociendo implicitamente que se entregó software con algunas fallas, mayores o menores pero fallas.Si aplicáramos la anterior regla a Visual Studio .NET 2003 estaríamos jodidos. Viéndolo del lado amable, significa que:

  1. El equipo que desarrolló Visual Studio .NET 2003 es menos imperfecto.
  2. La tecnología asociada (.NET Framework) también es menos imperfecta.

Ahora en otras nuevas, gracias a Neki, me encontré con una lista de recursos adicionales para esto del ADO.NET vNext:

Y por mi cuenta me he encontrado este:

Algo que me ha llamada la atención es la constante aparición del término vNext. De hecho en una simple búsqueda me ha dado unos resultados harto interesantes entre los que se incluyen referencias a:

  • SharePoint
  • Team Foundation Server
  • Biztalk
  • Virtual Server
  • DB2 (¿¡¿¡?!?!)
  • y obviamente ADO.NET....

¿Será que ya no habrá codenames (Cirrus, Longhorn, Whidbey, etc.) sino simplemente la etiqueta vNext para las nuevas versiones?

Búscando como resolver esta duda (que por cierto no resolví) encontré un sitio excelente de noticias relacionadas con Microsoft: Bink.nu: watching Microsoft like a hawk. Y aquí encontré otras bellezas como la siguiente: Vista solo puede ejecutar SQL Server 2005. Adiós a MSDE y SQL Server 2000.

Finito.

jueves, agosto 17, 2006

Reunión Mensual de la Comunidad .NET

Ya salió el anunció de la Reunión Mensual correspondiente al mes de agosto. Está programada para el próximo 29 de agosto en las oficinas de Intersoftware en el WTC, en ésta ocasión la reunión iniciará a las 7:00pm de manera que no hay el pretexto de que "no pude salir temprano".

No se vale decir que no sabían. Ya están avisados.

Finito.

Nuevo CTP: ADO.NET vNext

Como si no fuera suficiente la aparición de WinFx/.NET 3.0, ya está disponible un nuevo CTP (Community Technology Preview), ahora de una nueva generación de ADO.NET: vNext. Esta entrega incluye algo que les ha dado por llamar ADO.NET Entity Framework que a primera vista es un ORM, obviamente amarrado de algún modo con LINQ. Entre las características que se incluyen en este CTP se encuentran:
  • Administración de Estado
  • Resolución de Identidad (¿cómo diferencias a un objeto de otro dentro de una BD?)
  • Seguimiento de cambios
  • Manejo de entidades definidas en tablas separadas.
  • Mapeo de tablas con jerarquías, tablas con clases y tablas por tipos (¿acaso no es lo mismo?)
  • Mapeos condicionales
  • y más...

En el blog del equipo de ADO.NET se encuentran ya varios posts al respecto de esta entrega.

Finito.

CONSOL 2006

Hoy ha sido un día estupendo. Me la he pasado super en el Congreso Nacional de Software Libre 2006 que tiene lugar en el Instituto Politécnico Nacional del 15 al 18 de Agosto. Tal como su nombre lo indica se trata de ponencias y talleres de temas relacionados con el Software Libre en México.

También se cuenta con varios invitados internacionales que se han encargado de impartir ponencias y participar en talleres así como de las conferencias magistrales a la par de varias participaciones de conocidos personajes locales.

Solamente del día de hoy salen un buen número de temas que se han de estar publicando en los posts siguientes. No se desconecten.

Finito.

viernes, agosto 11, 2006

Port 25 entrevista a Miguel de Icaza

¿Recuerdan el post acerca de Port 25, el Laboratorio Open Source de Microsoft? Pues bien, hoy publican una entrevista con Miguel de Icaza, líder de los proyectos GNOME y Mono. Pueden descargar la entrevista en video y en formato mp3.

Finito.

Nueva Herramienta: Sandcastle

Sandcastle es una herramienta que produce documentación del tipo MSDN al ir aplicando técnicas de reflexión en los assemblies y opcionalmente integra comentarios XML.

Para más información, visiten el blog de Sandcastle

Finito.

Hands On Labs para Web Service Software Factory

A casi una semana de la entrega de la Web Service Software Factory, Don Smith anuncia la disponibilidad de los correspondientes Hands On Labs. Siguiendo el concepto de entregas anteriores, los HOL's son ejercicios paso a paso para aplicar el producto en un escenario casi real. En este caso, se trata de un servicio de catador de vinos (¿¿¿???)

Es una práctica obligada para cualquier persona interesada en el tema de software factories.

En el mismo post, Don hace una observación acerca de las relaciones de herencia en las clases parciales, una nueva característica de C# que nos permite definir una misma clase en más de un archivo de código fuente cuyo uso más notorio ha sido en los formularios en los que tenemos en dos archivos distintos la misma definición del formulario: en uno la parte que crea Visual Studio y en otro la que nosotros vamos completando con el código de los eventos y definiciones locales. Para más referencia pueden consultar los siguientes artículos:


Finito.

jueves, agosto 10, 2006

Todo cambia... ¿para bien?

Primero fue que Apple cambiaba a procesadores Intel, luego que Java se licenciaba como Open Source, ahora es que Microsoft tiene un laboratorio de Open Source. Se va a acabar el mundo.

La semana pasada tuvo lugar el evento Lang.NET Symposium 2006. Un foro auspiciado por Microsoft para conocer acerca de diseño de lenguajes, implementación de compiladores y construcción de herramientas enfocadas a la plataforma de código administrado (léase .NET).

Obviamente hubo participación de gente de Microsoft: Anders Hejlsberg, Paul Vick y Mike Barnett entre otros. Obviamente estuvo Miguel de Icaza y curiosamente los tres personajes más influyentes en la integración de .NET y Ruby: Wilco Bauwer, John Lam y John Gough.

De esta mezcolanza de filosofías, implementaciones y lenguajes, John Lam fue entrevistado por Sam Ramji quién participa en el Laboratorio de Open Source que incluso tiene su portal propio: Port 25. Ahí encontrarán la serie de entrevistas que hicieron a John Lam y John Gough. Interesante lugar éste de Portal 25. Incluso tiene una sección de podcasts y se ve que la comunidad está creciendo rapidamente.

En lo particular me da gusto ver esta apertura por parte Microsoft si bien seguramente tiene un trasfondo más comercial que colaborativo, este enfoque es mucho mejor y más pasable que aquellos infames documentos Halloween.

Finito.

domingo, agosto 06, 2006

Más acerca de las iluminaciones...

En continuación al comentario de Miguel de Icaza relacionado con WPF/Avalon, en su blog aparecen referencias a un par de blogs, ambos de ex-empleados de Microsoft en el que comentan acerca de esta relación odio-amor.

De inicio encontramos el blog de Wesner Moise, que trabajaba en el equipo de desarrollo de Excel y ahora dedica su tiempo a su start-up en Inteligencia Artificial. En este post Wesner transcribe una charla con Miguel en relación al tema e introduce el comentario acerca de los lectores de blogs. Por otra parte encontramos a Joe Beda, actual empleado de Google y ex-empleado de Microsoft donde trabajaba directamente en el equipo de Avalon. De su post, dos frases me impactan de sobremanera (otra vez traducción libre asistida por WordLingo):

  • Un ciclo de entrega de más de cinco años no puede verse más que como la señal de que algo está horriblemente mal.

  • Cuando estaba en [el equipo de] Avalon hablábamos acerca de construir el API por los siguientes 10 años.



¿Por qué mi insistencia acerca de ser más críticos con la oferta de Microsoft? La primera vez que escribí sobre esto fue en Febrero de 2005, tienen la liga para una lectura más detallada pero incluyo lo que creó que es el punto más importante:
Estamos a meses de que se libere una nueva versión del .NET Framework, hasta donde he visto, vienen algunos cambios radicales. Lo importante es que seamos capaces de tener una actitud crítica y objetiva acerca de esta nueva oferta de herramientas de trabajo. ¿Realmente nos hace más productivos? ¿La manera como nos guían nos lleva a mejores resultados? ¿Ganan ellos y ganamos nosotros? ¿o se trata de otra relación histórica del ganador y el perdedor?


Si bien suena muy agresivo, no debemos de bajar el nivel de cuestionamiento. A la fecha ya se han detallado más las nuevas API's y hasta donde conozco las otras (Windows Communication Foundation/Indigo y Windows Workflow Foundation) me parece que han hecho un esfuerzo real, valioso, productivo para incluir lo que realmente se está necesitando en el ámbito de interoperabilidad y colaboración. Sin embargo en lo relacionado a presentación, WPF/Avalon no es lo que necesitamos.

¿Qué necesitamos entonces? Herramientas que nos hagan más productivos y que estén al alcance de la mayoría de los desarrolladores, económicamente y conceptualmente. No más gurús y sabihondos de "manual" o privilegiados comerciales. No más sesiones específicas de capacitación. No más .....

Hace varios años aparecía en DDJ un anunció de un producto "X" que decía más o menos lo siguiente:
Me pagan por desarrollar aplicaciones, ahora con [Producto X] gano el doble.

El fondo del anuncio era que el Producto X conseguía duplicar la productividad del desarrollador, de ahí el aumento en su ingreso. Me gusta mi trabajo y de igual manera busco como aumentar mis ingresos o el tiempo que paso con mi familia o alguno de mis intereses. ¿WPF/Avalon conseguirá aumentar mi productividad?

Finito.

jueves, agosto 03, 2006

Acerca de iluminaciones...

Miguel de Icaza publicó hace unos días en su blog este pensamiento acerca de Avalon, ahora Windows Presentation Foundation. Estas son sus palabras en una libre traducción asistido por WordLingo:

Acabo de tener una realización hoy.
Avalon de Microsoft es el J2EE de GUI APIs.
Es la manera de Dios de castigarnos por substituir los diez mandamientos por el capricho del patrón del diseño.
Tendremos que esperar un par de los años por herramientas “Rails”. Los programadores mientras tanto pagarán sus pecados.
Avalon marca el final del sueño americano.



Si bien WPF no es mi interés ni mi fuerte, hace un par de semanas leí el libro Professional WinFX Beta y desde antes, al revisar los primeras entregas de Avalon siempre pensé que no parece ni remotamente sencillo. ¿Dónde quedó el clásico Hola Mundo? Esa introducción sobre simplificada a un lenguaje de programación.

Miguel hace una equivalencia directa con J2EE, la especificación "empresarial" de tecnologías Java. J2EE es una bestia inmensa que puso fuera del alcance de la gente la programación Java. Solo unos cuantos iniciados y gurús fueron capaces de entender los intrincados hilos, tejes y manejes de toda la parafernalia de acrónimos que se crearon con J2EE. Tal es el tamaño de la bestia que la comunidad Open Source se embarcó en una guerra no declarada para crear herramientas que cumplieran con el principio KISS y devolvieran el control a los buenos desarrolladores.

¿Pasará lo mismo con las nuevas API's de Microsoft? ¿Será el llamado a la comunidad de desarrolladores para concientizarnos y ser críticos de las nuevas ofertas de Microsoft? No podemos ser simples consumidores. Debemos esforzarnos en reconocer lo bueno de ésta oferta, por que sí lo hay, pero también ser críticos y levantar la mano donde realmente no estén facilitándonos la vida.

En la comunidad Open Source nacen pocas, pero significativas innovaciones. Sin embargo la tecnología se refina de una manera inimaginable gracias a la participación de varios individuos de todas latitudes. Mientras más se comparte, mejores resultados se obtienen.

Finito.

lunes, julio 31, 2006

Descarga gratuitamente MSDN Library Mayo 2006

Gracias a Firedancer me acabo de enterar que la MSDN Library se puede descargar gratuitamente.

Esta es la versión que se puede instalar directamente en la PC y consultar cuando lo desees, entre los detalles más novedosos se incluyen lo siguiente:
  • Visual Studio 2005 Team Foundation Server
  • SQL Server 2005
  • Microsoft Knowledge Base
  • Internet Information Server SDK
  • Internet Security and Acceleration SDK
  • ... y más!

Siempre es bueno tener a la mano la Library instalada, especialmente cuando no tienes acceso a internet o éste es limitado.

Finito.

domingo, julio 30, 2006

Liberada la Web Service Software Factory

Tom Hollander en su blog ha anunciado la liberación de la Web Service Software Factory. Este producto como los anteriores, implementa el concepto de fábrica de software en el ambiente de Visual Studio, mediante el cual se proporciona a los participantes del equipo de desarrollo secuencias de acción, recetas y elementos que automatizan en parte el desarrollo de un componente específico aumentando así la productividad y la calidad del resultado final.

A diferencia de las anteriores entregas, Smart Client y Mobile Client, esta fábrica esta circunscrita precisamente a Web Services, un elemento más familiar que permite desplazar el foco de atención al funcionamiento mismo de la fábrica.

Indudablemente este concepto de producción masiva automatizada requiere de más estudio para conseguir aprovechar los beneficios que pregona y sobre todo de conseguir la personalización para cada usuario y/o proyecto en el que se utilice, así que he de dedicar algunas horas a conocer más y probar profundamente esta entrega.

Finito.

sábado, julio 29, 2006

Reunión Mensual de la Comunidad .NET en el DF

Ayer tuve el gusto de volver a estar en la reunión mensual de la Comunidad .NET del DF a la cual ya tenía un tiempo de no asistir. Lamentablemente llegué solamente a la última exposición a cargo de Octavio Telis que tocó el tema de los valores anulables en .NET 2.0.

Sin embargo lo mejor estaba por venir. En la agenda publicada figuraba el nombre de Raúl Guerrero que inmediatamente me sonó familiar debido a las participaciones en los podcasts de Carlos Madrigal. Me entró la inquietud de conocer a la persona detrás de los comentarios así que al final de la reunión me acerque y me presenté directamente con Raúl. Grande fue su sorpresa y alegría al enterarse de que soy podescucha de Carlos y de él mismo. Y comentamos varias cosas hasta que tuve que despedirme. También para mí fue muy grato conocerlo y ver que si importa la retroalimentación de parte de los lectores y podescuchas de esos esfuerzos.

Hace un momento, leyendo los mensajes del día de la lista de Mono Hispano visité una de las ligas en la firma de los mensajes y grande fue mi sorpresa al encontrar que Iver también es podescucha de Pozo Técnico y SuperNeurona.

De aquí la reflexión de lo importante que son estos esfuerzos de compartir conocimiento y experiencias en tu idioma y además de una manera tan amena. Reciban desde aquí un caluroso abrazo y felicitación.

Finito.

lunes, julio 17, 2006

Laboratorios Prácticos

Desde la semana pasada he estado ejercitándome con los Hands On Labs del Composite UI Application Block. El mecanismo se me hace mmmuuuyyy chido, eso de la guía paso-por-paso y que te vas pa'trás, pa'delante y así te mueves, con soluciones preconstruidas donde vas agregando código que viene en la guía.
Es similar a lo que se usan en los cursos de certificación pero con esteroides.
En particular este conjunto de laboratios se enfocan al CAB, que es uno de los Application Blocks más esotéricos que han liberado (a mi gusto). Te presenta varios temas, desde los WorkItems pasando por la distribución ClickOnce hasta extender el mismo CAB.
A lo largo de los laboratorios es notable el uso de la técnica IoC/DI tan famosa ultimamente. En el caso de .NET la mayor parte se hace decorando mediante atributos los objetos que participan en la DI. En el fondo... muy en el fondo se encuentra ObjectBuilder, el componente que se encarga de hacer posible la DI y que también se usa en la Enterprise Library.

Notas acerca de PartnerApi

Hace algunos posts publiqué que estaba construyendo un API para encapsular las llamadas a las funciones del API de AppExchange. He tenido algunos lentos pero seguros progresos y ya conseguí devolver una lista de objetos encapsulando la llamada al método query() de AppExchange. Ahora estoy planeando los siguientes métodos para completar el conjunto de operaciones ABC (Alta, Baja, Cambios) en PartnerApi.

Estas son las firmas de los métodos que se van a implementar:

  • Insert(sObject) => (1)
  • Insert(IList sObjects) => (m)
  • Update(sObject) => (1) update by Id
  • Update(IList sObjects) => (m) update by Id
  • Delete(sObject) => (1) delete by Id
  • Delete(criteria) => (0..m) delete by condition
  • Delete(IList sObjects) => (m) delete by Id

La idea es tener siempre una versión que afecta un solo objeto (1) y la versión que afecta varios objetos (m). En las operaciones de Update y Delete es obvio que se puede establecer una relación directa con el objeto que se va afectar mediante el uso de Id. En el caso de la operación Delete se añade el caso adicional donde especificamos la condición que debe cumplirse para eliminar el objeto de la BD de AppExchange.

También falta por construir un método de conversión de un PartnerApi.sObject a un AppExchange.sObject. Es decir, se consulta a AppExchange y nos devuelve una colección de sObjects en su formato nativo. En PartnerApi se expone una clase que encapsula de una manera más natural los atributos de la clase y ahora se requiere un método que la regrese a su formato original, algo así como AppExchange.sObject => PartnerApi.sObject => AppExchange.sObject en donde cada => se debe entender como conversión.

Finito.

viernes, julio 14, 2006

¡Microsoft Virtual PC ahora es gratis!

Con el asunto de WinFx, ahora .NET 3.0, el Beta 2 de Vista y demás ejercicios de avanzada que demandan equipos para instalaciones, equipos que no están disponibles la única opción viable es la virtualización.

En una máquina virtual tu puedes hacer y deshacer pagando una pequeña penalidad de desempeño. La instalación no te la quitas de encima y si estás instalando alguna versión de Windows, todas las actualizaciones a la fecha. Pero al final tienes un ambiente para ejecutar todos las liberaciones Betas sin preocupaciones ni conflictos.

La principal oferta en este aspecto la venía haciendo VMWare, que ofrece toda una línea de productos orientada a la virtualización de equipos soportando una variedad de sistemas operativos (Windows, Linux, Solaris, Vista). Y hace medio año aproximadamente, lanzaron un producto, VM Player para simplemente ejecutar máquinas virtuales creadas con cualquiera de sus productos. En el ambiente Open Source también se ha apostado de alguna manera por este concepto y ofrecen (Fedora/RH en particular) un kernel llamado Xen que muchos critican por que no una virtualización total.

A todo esto, Microsoft tambien le entró a la onda de la virtualización adquiriendo una compañia, raro ¿no?, que se estaba abriendo paso y con los fondos virtualmente ilimitados de Redmond terminó convirtiendos en Virtual PC junto con su hermano mayor Virtual Server. El éxito del producto fue moderado aunque puedes ver a la maoyría de los expositores Microsoft hacer uso de este producto en sus demostraciones y exposiciones.

Realmente es genial poder encender una máquina de pruebas juguetear (thinker around) en nuevas herramientas y sistemas operativos sin tener que darle en la torre a tu equipo de todos los días. Adios a los temores de las BSOD, a los reformateos y conflictos en las instalaciones.

En lo particular he disfrutado más de VMWare. Se me hace más maduro, eficiente y portable. También he probado VPC y ahora con la característica de gratis va a inundar el mercado. VPC es lento, no es tan portable (cuando me refiero a portable se trata de lo siguiente. Crea una máquina virtual en la oficina, aprovechando la banda ancha descarga y aplica todos las actualizaciones. Copia esa VM a tu disco duro externo, llegas a casa, arrancas tu VPC y ¡nada! no funciona, cosa que no sucede con las VM de VMWare) pero es gratis. ja.

¿Quién podrá explicar como es que con la piratería, las demandas y las multas de la UE, Microsoft se da el lujo de tomar este tipo de decisiones?

Finito.

miércoles, julio 12, 2006

López vs. López

Hace unos momentos en el noticiero de la noche, López Obrador estuvo con el anfitrión, López Doriga.

Desde el inicio del programa se tocaron las notas del día relativas al inconcluso proceso electoral. Una nota muy personal, con nombre y cara fue la relacionada con el supuesto embarazo de urnas electorales en Salamanca, Guanajuato. El presidente de la casilla, estudiante de ingeniería y maestro de secundaria, rechazó categoricamente que el hecho tuviera el sentido que le ha querido dar el equipo de López Obrador. La representante de la Coalición por el Bien de Todos resumió en una frase su posición: "Si hubiera estado mal no hubiera firmado". Más adelante AMLO declara que si fue posible comprar votos, seguramente fue posible comprar representantes.

Ya en el enfrentamiento, López vs. López, López Doriga "El Teacher" lanzó el primer jab con una sección de la visita de AMLO al estudio en el cual declaró categoricamente que sería respetuoso del resultado de la elección. Del dicho al hecho, hay una respuesta digna de los mejores púgiles: "Voy a respetar la democracia y el 2 de julio no hubo democracia". Palabras más, palabras menos. Señala una vez más que fue una elección de estado, que si bien hubo una extensa participación ciudadana, también se aplicaron los métodos de la vieja escuela para revertir los resultados de la elección que declarar convencido haber ganado. "Gané y es mi palabra".

"El Teacher" siguió aplicando ataques a las zonas sensibles sin conseguir mucho éxito. AMLO dió muestra de la experiencia y tozudez propia de su estirpe. Una de las partes que más dió emoción al encuentro, fue la sútil descalificación, impropia de AMLO, de López Doriga. "Tu opinión es muy respetada pero no la comparto". En otras palabras: nada de lo que digas importa, sé que vas a tirarme a matar y no me voy a dejar.

El segundo revolcón lo consiguió AMLO al replicar sobre el asunto de la casilla de Salamanca. "Cualquiera que ha sido funcionario de casilla..." fue el inicio de la réplica de López Obrador. López Doriga solo pudo esquivar saltando al tema de la impugnación en el cual por más que "El Teacher" se lanzó a matar, AMLO se aperró, perdón, aferró a que no pretende invalidar la elección. No soy abogado y este es una de los momentos que quisiera serlo.

El cierre fue una pregunta directa: "¿respetará López Obrador el veredicto del TRIFE cuando ya anteriormente se comprometió a acatar el resultado del IFE y no lo hizo?". Dice que sí. Yo no le creo.

Finito.

jueves, julio 06, 2006

La victoria de la derecha

Se terminó finalmente el conteo de las actas en los Distritos Electorales y resulta que el candidato de derecha, Felipe Calderón consigue llevarse por un mínimo margen la mayoría quedando en segundo lugar el candidato de la izquierda Andrés Manuel López Obrador.

Este conteo, al contrario de lo que la mayoría cree, es el proceso formal y previsto para determinar el número de votos otorgados a cada candidato. No es el resultado de atender ninguna petición, ningún reclamo. El siguiente paso es entregar los resultados obtenidos al Tribunal Electoral para que sea éste órgano el encargado de otorgar la constancia de mayoría al candidato ganador.

Es ilusorio pensar que al ir corroborando las cuentas no se fue haciendo la suma de los votos. Tal es que tenemos al resultado previo, no oficial, que nos señala lo que ya conocíamos pero que la oposición se ha pertrechado en desconocer. La victoria de la derecha. Sin embargo en un afán incongruente con lo manifestado anteriormente, la izquierda pretende impugnar el resultado del conteo. Están en su derecho aunque definitivamente lo están haciendo con el mínimo de responsabilidad.

AMLO ya ha convocado a un mitín el próximo sábado ¿para qué? Es imposible descifrar el motivo de fondo. Lo único que consigue es agitar el polarizado entorno existente y confundir al mal informado (al fin y al cabo, mayormente hijos de López Obrador) pueblo mexicano. Le encantan los escenarios al Sr. López Obrador, mejor debiera ser conductor o actor.

Esperemos a ver cuales son en detalle las denuncias que van a realizar. Seguramente proporcionarán un gran tramo de tela donde cortar.

Finito.

miércoles, julio 05, 2006

¡Ya'stuvo! ¡Ya'stuvo!

Por fin quedó la instalación de Team Foundation Server en el servidor de pruebas. Incluso ya instalé Team Explorer en mi PC. Bien chido.

Ya cree mi primer Team Project con la plantilla MSF Agile y me creó el bonche de WorkItems... solo falta que recuerde que sigue... a revisar los apuntes del Workshop que tomamos a principio de año con el buen Beto Borbolla.

Después de esto, me tomé un momento de relax viendo los anuncios de Apple. Si bien toda la vida (laboral) he usado PC con algún SO de Microsoft, también he visto como han ido desfilando las diferentes variedades de equipos de Apple, algo que siempre han tenido en común ha sido el magnífico diseño. Los únicos que se han esforzado para aplicar algo de diseño ha sido Sony con su línea Vaio. De ahi en fuera pura consumer design.

En otros temas, sigue el conteo en los Distritos Electorales. En este recuento sigue llevando la delantera el candidote AMLO. Sin embargo la fuente que consulto bien claro agrega la siguiente leyenda:

Es necesario subrayar que los resultados pueden cambiar en cualquier momento y que por tanto no marcan ninguna tendencia.

¿Esperan acaso un milagro? ¿o están planeando alguna táctica descontadora? En lo particular no me agrada en lo más mínimo ver que AMLO llega a la presidencia. Ahora todas las víctimas del sistema van a reclamar lo que les corresponde por su condición ¿? No sabía que tener la desgracia de carecer de recursos te hace dueño de los beneficios que creamos una mediana parte de la sociedad. Deja me declaro en bancarrota y me convierto en un desprotegido hijo de López Obrador.

Finito.

Puras fallas

Sigo con el ejercicio de instalar VSTS no sin algunos desaciertos. Hoy impetuosamente me decidí a terminar la instalación y agarré mi disquito y me senté. Embriagado de contento inicié el clásico next, next, next para encontrar con el primer error: SQL Server no tenía activado el acceso a conexiones TCP/IP ¿¿¿??? ¿qué pex?

En el mismo impetuosismo, instalé originalmente una versión de evaluación de SQL Server 2005, así que asumo que por su naturaleza no debieras usarlo como se debe usar y pues viene con esa característica desactivada. No problema. Vas al SQL Server Configuration Manager y le aplicas el cambio.

Agarras el mouse y empiezas de nuevo: next, next, next... ¿y qué crees? ¡nnnoo! pus si... Otro error :-( Ahora resulta que el collation no era el correcto. Bien dicen RTFM pero no, ahí vas con el "next, next, next". Pues resulta que debes tomar en cuenta lo siguiente para seleccionar el correcto collation (son puros "no's"):

  • No soporta Accent Insensitive
  • No soporta Binary ni Binary2
  • No soporta Case Sensitive

Bueno, entonces ¿qué si soporta? Case Insensitive + Accent Sensitive y por si las moscas, púchale los check boxes pa'que soporte Hiragana/Katakana.

Pero lo tenía incorrecto, ¿cómo lo configuro al correcto? No pus ya te fregaste.... Bueno al menos es solo una prueba, pa'eso son, pa'regarla. Desinstalo SQL Server y ahora hago lo que debí haber hecho desde el principio.... Instalo el SQL Server 2005 con su licencia. Next, next, next...

Ahora otra vez con el VSTS... next, next, next.... ¡Oh! ¡no problema! Todo va excelente hasta que llegas a una ventana del wizard que dice: Service Logon Account ¡Chale! Pus le pongo la toda-poderosa-cuenta.... ¡Pelas! Nanay, no puedes usar la cuenta con que estás instalando.... Otra vez al pinky manual... ¡orales! Necesitas al menos otras dos cuentas de dominio TFSSERVICE y TFSREPORTS y si quieres verte chido, también TFSPROXY.....

Pus orale... a solicitarlas y a sentarme a tomar el fresquito del aire acondicionado.....

Finito.

[OFF-TOPIC]

Lo cuatitos de iBATIS liberaron hoy la siguiente versión en Beta de la versión .NET que entre otras cosas incluye el soporte a la versión 2.0 del framework ¡orales!

domingo, julio 02, 2006

A la cama sin un ganador

Justo acaba de dar su anuncio el titular del IFE en el cual señala que debido al escaso margen de diferencia entre los candidatos punteros, no es posible anunciar tendencias en los resultados dado que estos pueden variar.
A muchos les podrá parecer un esfuerzo por maquillar las cifras. Pudiera imponerse un resultado mediante maquiavélicas maniobras. Un escenario más para confirmar lo que a gritos ha venido anunciando la oposición: una elección de estado.
Ésta es mi segunda elección presidencial en la que participo como votante. Y he de reconocer muchos cambios, desde mi confirmación derechista y conservadora, muy distante de la izquierda radical que en mi temprana juventud manifesté. Pero el cambio que más me sorprende es la incertidumbre, la real indefinición que flota en el ambiente.
En este momento estoy escuchando al candidato de la izquierda, AMLO, que anuncia que aunque ha manifestado que respetará la decisión de las instituciones, se declara ganador debido a la información que posee. Ofrece convocar a un acuerdo nacional que involucre a todos los individuos y organizaciones. Una invitación franca según su dicho.
Sin embargo, el IFE tendrá que emitir el resultado final. Y a eso tendremos que atenernos todos los mexicanos (y mexicanas, claro).
Para mí no me queda clara la real tendencia de esta elección como dije anteriormente. Sin embargo, me parece saludable y se me antoja que le da un alto grado de confiabilidad al proceso de elección en si mismo.
Ahora estoy escuchando al candidato de la derecha, Felipe Calderon, que en su declaración anuncia el mismo sonsonente que su principal contrincante: somos ganadores. La supuesta ventaja son los resultados arrojados por diferentes encuestas de salida levantadas por empresas contratadas ex-profeso. Defiende sus resultados, remarca su victoria. Comparte sus felicitaciones a los gobernadores electos de su partido. Hace un breve esobozo del camino a seguir su gobierno.
Finalmente escuche el comentario del líder del PRI el cual pide que se respeten los tiempos definidos por el IFE. Ya sabe que se le avecina una tormenta. La caída total del partido. Ojala que recuperen lo bueno de lo perdido.
Esto sigue sin cerrarse.
Finito.

sábado, julio 01, 2006

Fábricas de Software - la otra visión

Cuando oímos el término fábricas de software generalmente nos imaginamos un espacio enorme con largas filas de desarrolladores que se extienden hasta el infinito con lámparas colgando sobre cada línea y el incesante repiqueteo de las teclas.

Pero es solo imaginación. La propuesta para hacer realidad es muy diferente. Jack Greenfield es su artículo "The Case for Software Factories" expone las razones que motivan la aparición de las fábricas de software. La incesante demanda de software, aún y cuando es una de las actividades más riesgosas en términos de tiempo y dinero, requiere de nuevos modelos de construcción de aplicaciones. Esta necesidad en ascenso requiere de una fuerza de trabajo que sea cada vez más productiva y se señala que el modelo de "maestro-aprendiz" que ha prevalecido no será capaz de generar los ejércitos de desarrolladores y que aún teniendolos más que demostrado queda que la solución no es agregar y agregar personal a los proyectos.

La industria del desarrollo de software ha pasado por esto antes y lo ha intentado resolver de muchas maneras (CASE, metologías formales, OOP, etc) pero llega el momento en que son rebasadas por la realidad y es necesaria una revolución en lo más profundo para continuar en el negocio.

Cada una de las revoluciones anteriores han ido aumentando el nivel de abstracción con el que trabajamos. Se ha ido desde bit por bit a lenguajes, de funciones a clases y métodos, de programatico a declarativo. Se puede representar esto como una torre en la que el siguiente piso permite manipular conceptos más abstractos, más despegados del hardware que el piso anterior. Sin embargo existe una diferencia de velocidad entre el avance de la plataforma, es decir el hardware, y las herramientas. Estamos en un punto donde las herramientas y procesos de desarrollo se han quedado estancadas y atrás en relación a la capacidad de cómputo disponible y sobre todo de las exigencias de los consumidores.

Haciendo un símil muy recurrido con la industria de la electrónica, Greenfield hace una comparación dura y directa: los chips actuales no se construyen transistor por transitor, ya existen componentes predefindos que sirven de base y que sin esfuerzo permiten tener en el mercado los productos demandados por los consumidores.

La pregunta de oro es ¿se puede automatizar el desarrollo de software de la misma manera? Se dice que sí y de hecho ponen como muestra SQL y las bases de datos. Mediante una estandarización se ha conseguido beneficios como la integración de datos y cierto nivel de independencia que consiguen hacer el acceso a datos más fácil y consistente. También se refieren a las interfaces gráficas. Al final se identifican algunos patrones recurrentes:
  • La repetición en la construcción de aplicaciones se identifican abstracciones reutilizables que se documentan y se aprovechan en desarrollos subsecuentes.
  • Después se construye un framework o engine para implementar estas abstracciones y patrones. Esto permite construir aplicaciones simplemente creando instancias, adaptando, configurando y conectando entre sí los componentes de este fx.
  • Finalmente se define un conjunto de herramientas y lenguajes para automatizar el proceso de construcción. Con esto se consigue reaccionar más rapidamente a los cambios ya que mucho del esfuerzo es automatizado y puede regenerse sin mucho esfuerzo.
Otras industrias aumentan su capacidad de producción moviendose a un proceso de manufactura en lugar del proceso artesanal individual o en pequeños grupos. En el proceso masivo se arman variantes de un mismo producto usando piezas genéricas de distintos proveedores y existe maquinaria para los procesos más simples y repetitivos. Se estandarizan procesos, diseños, empaque usando líneas de producto para facilitar la reutilización sistemática y al final, cadenas de suministro. Para poner en concreto lo anterior pénsemos en la industria automotriz. Hacen una implementación donde existen productos con algunas variantes (estándar, equipado, lujo) y se producen rápidamente (120 autos en 8 horas) y un rango de precios adecuados para su mercado.

Se han hecho analogías entre el software y otros bienes. Finalmente se reconoce que el software es similar a productos físicos o tangibles resultado de otros tipos de ingeniería tales como puentes, edificios y computadoras. Sin embargo existen importantes diferencias que le otorgan al software caraterísticas únicas. Al ser un ente lógico, abstracto, sin representación física, los costos se concentran en el desarrollo más que en la producción y debido a que el software no se desgasta ni acaba, su calidad depende de cualidades abstractas como fiabilidad y consistencia en lugar de durabilidad y resistencia.

El poder reutilizar componentes, cuyo desarrollo es caro, debe hacerse en un marco que permita aprovecharse en más de un producto dentro de un dominio (usar un mismo motor en más de un modelo de auto).

La reutilización sistemática da lugar a economías de escala y de alcance (scope) que son bien conocidas y aprovechadas en otras industrias. Las economias de escala aparecen cuando múltiples instancias identicas de un mismo producto se fabrican en masa en lugar de individualmente. A partir de un diseño original se crean prototipos (diseño), se refinan mediante procesos de ingeniería (desarrollo) y finalmente se fabrican masivamente (producción) mediante maquinaría o línes de producción de bajo costo (obreros) para satifacer la demanda. En el modelo de la economia de alcance se utilizan las mismas prácticas, procesos, herramientas y materiales para diseñar y crear prototipos de productos similares que se comercialzaran con algunas variantes.

La industria de software presenta importantes diferencias con las industria automotiva o electrónica pero se pueden encontrar algunas similitudes.
  • En el mercado de consumo masivo como aplicaciones de escritorio en el cual sistemas operativos y suites de oficina se producen en grandes cantidades, el sofware se comporta como una economia de escala, similar a la industria automotriz.
  • En el mercado empresarial en el que aplicaciones de negocio verticales no consiguen producirse masivamente, el software se comporta como una economia de alcance tal como la industria de la construcción.

¿Cómo se implementan estas prácticas de industralización en el desarrollo de aplicaciones? Si bien no existe una respuesta definitiva ya se están realizando esfuerzos para complementar los ambientes de desarrollo existentes. Microsoft dentro de su producto Visual Studio Team System ha aprovechado los esfuerzo que se han venido realizando en el equipo de Patterns & Practices. El resultado de esta estrategia se llama Guidance Automation Toolkit que es una extensión de Visual Studio 2005 que permite a los arquitectos y desarrolladores aprovechar los gadgets incluidos en los software factories para automatizar tareas claves del desarrollo desde el ambiente de Visual Studio.

Recientemente se han dado a conocer algunas software factories entre las que se incluyen la Smart Client Software Factory y la Mobile Client Software Factory. También existen otras factories que están desarrollo, por ejemplo la Web Service Factory que justo acaba de anunciar un último Community Drop.

En el Arquitecture Journal se publico el artículo A Software Factory Approach To HL7 Version 3 Solutions que fue el detonante para interesarme por este tema debido a que en el trabajo tenemos un área que procesa mensajes de HL7 mediante WebLogic Integration.

Finalmente, Haaron González expusó ayer en la Comunidad.NET del D.F. el tema Fábricas de Software de Cientes Inteligentes, lástima que olvidé la fecha y no pudo asistir.

Finito.

jueves, junio 29, 2006

Instalando Visual Studio Team System

Entre tantas cosas que no se habían hecho aunque si planeado, está la instalación de Visual Studio Team System (VSTS). El primer punto a resolver fue ¿qué carajos es VSTS? Obviamente solo la paciente lectura de más o menos 10,005 aburridos documentos me dió una pista. VSTS es un concepto. :S ¿Cómo?

Bueno, a mí me pareció más fácil verlo como un concepto. Lo traté de digerir de la siguiente manera: Exchange es el servidor de correo, Outlook es el cliente de correo. El problema aquí es que VSTS no es el servidor, en realidad el servidor se llama Team Foundation Server (TFS) ¡aahhh!

Además tenemos versiones cliente del ya conocido VS, son las versiones Team System entre las que se incluyen el recién publicado Database Professional, Architect, Developer, Tester y Project Manager. Cada uno para cada cual, lo que a la fecha no entiendo es por que tenemos como mil instalaciones de Developer y unas cuantas de las demás versiones (joke).

El sitio donde de plano le encontré sentido a todo esto fue en Installation and Administration of Team Foundation Server donde empecé con los requerimientos de harwdare (¿podrá correr en mi celeron 500 Mhz/64MB RAM?) y "planear" al tanteo nuestro ambiente de instalación. Fueron de gran ayuda los posts de Rob Caron y un par de documentos que en la misma página se pueden descargar.
A la conclusión que llegué es que de inicio vamos hacer una instalación en un solo equipo, nomás pa'ir calando la guía de instalación, que por cierto se me hace harto útil, la pueden encontrar en http://www.microsoft.com/downloads/details.aspx?FamilyId=E54BF6FF-026B-43A4-ADE4-A690388F310E&displaylang=en.

Es un archivo help que trae paso a paso las actividades necesarias para realizar la instalación. Por diversas causas todavía no termino, pero estoy seguro que antes de irme de vacaciones queda.

Para la instalación de producción tenemos planeado hacer una instalación en dos servidores. En primer lugar por que tenemos un mounstrito IA-64 queriendo ser usado y en segundo por que con eso de que no podemos tener el TFS en 64 bits (o al menos, no lo garantizan) vamos a tener SQL Server 2005 en IA-64 y TFS en un servidor normalito.
Ya veremos como termina este asunto.

martes, junio 27, 2006

Refresh masivo

Han sucedido algunas cosas en estos días ¿cuáles? puedo enumerar las siguientes:

Lo de la salida de México del Mundial... ya pasó... ni modo. Ahora para que se cumpla mi quiniela Argentina debe ganar la Copa.
Blaze Advisor ya no es una caja negra. Tome los cursos de "Fundamentals", "RMA" y "ARS". ¿Qué aprendí? A crear reglas, a usar metáforas de reglas (árboles de decisión, score tables, decision tables), a parametrizar reglas, a generar la interfaz web para los usuarios (RMA), a generar los servidores de reglas (ARS) y como usarlos dentro y fuera de contenedores J2EE (léase servidores de aplicación). Lo único malo es que fue debút y despedida. Mucho estudio, poco uso.
En relación a NHibernate, continué con mi ejercicio de definir relaciones padre-hijo para encontrarle sentido. Y aunque ya le he encontrado el modo, también aparecieron cosas que no me han gustado del todo. Eso me hizo colgarme un poco de iBATIS.NET pero todavía no le agarró cariño.
Y lo que creo que es más interesante. El AppExchange Connector.
Hace ya un par de años, desarrollé un proceso de integración entre salesforce.com y un ERP. Ahí me encontré por primera vez con servicios web "reales". Trabajé como tres meses en eso pero me quedó la inquietud de crear una biblioteca de clases que facilitara y sobre todo, generalizara, el uso de el API publicado por salesforce.com. Como un esfuerzo de generar una comunidad de desarrolladores han creado entre otras cosas, proyectos open source entre los que se incluyen un adaptador ADO.NET.
Lo que pretendo ofrecer no es un conector de este tipo sino una alternativa a generar sentencias de pseudo-SQL y aprovechar lo que ellos llaman la Partner API.
Inicié el desarrollo con .NET 1.1, hice un intento de construir una versión paralela en Mono, pero por diversos errores no lo conseguí y dejé abandonado el trabajo en esto. Un par de días atrás me preguntaron por el status del proyecto y eso me hizo reflexionar y decidir que iba a continuar y tomé al menos una decisión importante al respecto. Todo el desarrollo que venga a continuación se va hacer sobre .NET 2.0.
La plataforma ya está liberada e incluso ya ha sido objeto de los embates de mercadotecnia de los directivos de Microsoft, que ahora resulta que la combinación .NET 2.0 y WinFx (el ambiente de desarrollo de la siguiente generación de Windows) se llama .NET 3.0.
Este cambio de mkt, sirvió para iluminarme y tomar esta decisión. No me puedo quedar así. Quiero seguir evolucionando con la plataforma.
Veamos pués, que nos depara el futuro.

martes, junio 13, 2006

Bolsitas para la baba...

¡De verda' que a veces se nos van las cabras bien gacho!

Ayer estaba retomando un proyectín que tengo medio apagado y revisaba los fuentes con Vim para refrescar mi memoria cuando...



¿Qué onda? ¿Qué $%"#$"$"" le pasó a mi código? Empecé a debrayar y a imaginar cuanta tontería se me iba ocurriendo: que si falló el usb, el SVN, el usuario, etc.

Lo curioso fue que si abría el mismo archivo en Visual Studio .NET 2003, no había ningún problema...


¿Qué misterio había detrás? Estaba completamente perplejo. Después simplemente quedé como pende,0....

Existe la opción para cambiar el encoding de los archivos: File, Advanced Set Options y en esa caja de diálogo se cambia al tipo que deseamos usar:

Guardamos de nuevo el archivo y asunto resuelto....

jueves, junio 08, 2006

Sitio de Arquitectos WannaBe

Hoy me llegó una invitación para la Comunidad Empresarial de Arquitectos de Microsoft México. Son reuniones donde sin entrar en mucho mercadeo, tratan temas de arquitectura. Al menos eso me han dicho, ya que a la fecha no he asisitido a ninguna. ¿Por qué? Simplemente por que las reuniones generalmente son en el Club de Empresarios Bosques y su estricto código exige a los visitantes vestir saco y corbata.
Seguramente Microsoft no se va a acabar por que no asista a esas reuniones. Pero creo que habría una mayor asistencia si se realizaran en lugares menos exclusivos.
En la invitación viene una liga a un sitio muy interesante: Skyscrapr, una comunidad de wanna-be's en arquitectura. Chequen el video introductorio: http://www.skyscrapr.net/blogs/video/archive/2006/03/10/46.aspx

viernes, mayo 19, 2006

Da vergüenza

Todos los días uso el metrobus para llegar al trabajo. Lo abordo desde su terminal en Indios Verdes lidiando con trogloditos y trogloditas, hijos e hijas de López Obrador, que sienten que su "oprimida" condición les da derecho a no comportarse en orden. La batalla llega a tal grado, que prefiero dejar pasar uno, dos, tres, cuantos trenes sean necesarios para evitar en lo posible, despotricar contra un elegante trajeado con lagañas o una gorda perfumada con el maquillaje de ayer.
Finalmente consigo un lugar y voy sentado mirando por la ventana del metrobus. Coches, gente, edificios. Sobreviviendo a emisiones flatulentas y sobacales. Tratando de sobrellevar al clásico güey que se hace espacio y ¡ay de aquel que le reclame! - "Si no te parece vete en taxi". ¿Quién iba imaginar que una de mis frases más usadas me suene hoy a estupidez?
Sin embargo, esta semana sucedió algo fuera de lo común. En la ruta del metrobus cruzamos Reforma e Insurgentes, justo donde se encuentra el campamento de los manifestantes de los 400 pueblos. Esta semana retomaron su manifestaciones en carne viva. Y eso fue lo que hizo que la mayoría de los pasajeros del metrobus coincidieramos en algo. Conforme avanzabamos la vista se lleno de hombres solo en calzón y de mujeres desnudas en la base de la estatua de Cuauhtemoc. No pude soportarlo y baje la mirada. Se me ocurrió ver a los demás y reaccionaron de igual manera.
Es vergonzoso. No por la desnudez de esas personas. Si no por que atentando contra su dignidad, protestan contra las vejaciones que han sufrido. No imagino que cosas son capaces de motivarte a desnudarte en un lugar público. Y es vergonzoso por que a la fecha, no tengo noticia de que les hayan resuelto algo. De que haya alguien en el gobierno, estatal y/o federal, que no haya hecho las acciones necesarias para atender sus peticiones, en la medida que sean legítimas y razonables. Vergüenza de nosotros, espectadores, que simplemente agachemos la mirada y no hagamos más. Eso si debe de darnos vergüenza.

lunes, mayo 15, 2006

Usando NAnt con Mono bajo Windows

Creo que más de uno han batallado para hacer funcionar NAnt con el ambiente de ejecución de Mono.

La solución que propongo es la siguiente:

  • En el archivo NAnt.exe.config, buscanos la sección en la cual se define el ambiente para "mono-1.0"

  • Casi al final, lindando con la definición de "mono-2.0", encontramos las siguientes definiciones:
    <!-- determine if we're NOT dealing with a Mono 1.0.x release -->
    <if test="${version::get-major(version::parse(defaultCLR)) != 1 or version::get-minor(version::parse(defaultCLR)) != 0}">
    <!-- in Mono 1.1.x (and higher ?), the framework tools are located in the <installroot>\lib\mono\<profile> directory -->

  • Las líneas importantes son estas:
    <!-- property name="runtimeEngine" value="${path::combine(frameworkAssemblyDirectory, 'mono.exe')}" / -->
    <property name="runtimeEngine" value="${path::combine(sdkInstallRoot, 'bin/mono.exe')}" />


Como se puede ver, en lugar de usar el valor de frameworkAssemblyDirectory, se sustituye por sdkInstallRoot y de agrega el sufijo 'bin/' a la ruta para llegar a mono.exe
Esto me funcionó para Mono 1.1.13.6 y 1.1.15 con NAnt 0.85.1932.0; rc3; bajo Windows XP-ESN

martes, mayo 09, 2006

Como desperdiciar un fin de semana

El viernes recibí un obsequió inesperado. La versión Beta 2 de Windows Vista y se me encendieron los ánimos de probarla, de llegar a casa e instalarla. Aunque tengo un par de proyectos personales en proceso, pensé que valía la pena desconfiguar la laptop para probar el nuevo juguete. Llegué cansado a casa y no hice más, de cualquier manera me esperaba un largo fin de semana.
Aprovechando el sábado para levantarme tarde, me desperté con una idea que se fue creando en mi mente a lo largo de la noche. Tengo por ahí una vieja laptop Celeron con 64 MB de RAM y 6 GB en DD. "Perfecta para Linux" - pensé. Que viejo se vuelve el HW de repente. Una de las versiones que me interesaba probar, Gentoo, requiere al menos 128 MB de RAM para instalarse. Knoppix requiere 96 MB si quieres que trabaje con un ambiente gráfico. No conseguí levantar más que Knoppix en una sesión en cámara lenta
Mientras tanto, Windows Vista se instaló en mi laptop (Pentium 725 1.6Ghz, 1.25 GB RAM, 80 GB en DD). Terminé los detalles de personalización ¡y a jugar!.... Bueno, eso pensé yo, al navegar por la configuración del sistema operativo, encontré un vista donde "calificaba" lo apropiado del HW para correr Vista. En una escala del 1 al 5, mi laptop, mi equipo más moderno calificó con UNO. ¡Oh decepción! Aún así me aferré un rato e instale el Visual Express C#. No tanto problema, solo la espera por la descarga y la instalación. Nada del otro mundo. Todo esto lo hice conectado por cable al modem-router, ahora seguía probar la configuración WiFi. Creo que lo conseguí pero nunca funcionó. Encontré que Vista instala IPv6, chicos previsores los de Redmond
Decepcionado, regresé al viejo y conocido XP :(. Ya saben, instalación del SO, instalación del SP2 y de todas las actualizaciones del año. Harto aburrido. Terminé la instalación y mis actividades del día y me fuí a dormir.
Con todas estas instalaciones, obviamente se perdió el arranque dual de Windows y Fedora, así que pa'variar, me faltaba instalar mi partición Linux. Tenía a la mano los cd's de instalación de Open Suse 10.0, así que dije "¿por qué no?" Y empecé la instalación. Algo larga por los 5 cd's. Bonito KDE. Mono "out-of-the-box". No sound.
Mi laptop se quedó muda. Y como me encanta el escándalo, tristemente dije "no" a Suse y regresé a FC4. Y va de nuez. Instalar, configurar y dije "¿qué tal si la actualizo a FC5? ¿por qué no?"... Y actualicé el kernel, kudzu y los initscripts... por ahí saltó un error pero no hice caso... craso error. Al reiniciar el equipo simplemente se quedó en blanco.
Y va de nuez... ahora estoy pensando seriamente en descargar el DVD de FC5, pero mientras de nueva vuelta instalé y configuré FC4, no actualicé nada, simplemente le instalé los paquetes de Mono y ya
Moraleja: No desperdicien su fin de semana instalando SO's.

viernes, mayo 05, 2006

BEA Dev2DevDays -México

Hoy se realizó el día Dev2Dev de Bea, un evento que reune a desarrolladores Java que trabajan con herramientas BEA, principalmente con la línea de productos WebLogic. Bajo el slogan de "Create. Innovate. Blend". La estrategia de BEA, es ofrecer sus productos integrando componentes Open Source de manera que la productividad del desarrollador aumente, las aplicaciones dejen satisfechos a los usuarios y todos contentos :-) .

Las presentaciones giraron alrededor de la integración de Spring, Hibernate y del nuevo entorno de desarrollo basado en Eclipse. Tocaron algo de Ajax, también hablaron de EJB 3.0, Kodo y JSF's. También promocionaron la comunidad en línea dev2dev; como dato curioso estuvo la nota de que O'Reilly está como editorial detrás del sitio. Hubo quienes vieron como novedad esta integración de software propietario y comercial. Hay quienes lo ven como algo de todos los días. La impresión que me quedó es que hay gente que realmente está clavada en estos y poseé conocimientos profundo del tema. De hecho, uno de los asistentes anunció un sitio bastante interesante: http://www.springhispano.org.

Lo más significativo para mí, es que este evento marco dos años de trabajo con WebLogic y la tecnología Java. Estos dos años han sido de aprendizaje sobre algo que siendo un desarrollador .NET de corazón continuamente nos lo presentan como el enemigo. No todo se resuelve con un martillo, hay otras herramientas muy útiles. En lo personal, creo que la habilidad del artesano, más que las herramientas, determina el resultado. No por poder usar un pincel me convierto en Van Gogh. En  fin, dos años durmiendo con el "enemigo". Han sido noches muy envidiables. ;-)

martes, mayo 02, 2006

Lástima de día

Lástima de día
con los ojos hinchados
de tanto dormir.

Lástima de día
promesa de alegría
vanas promesas

Mis oídos sordos
La soledad que abre mi pecho
Piel hirviente
y sigo sin escuchar

Lástima de día...
Y como dices
ya van trece años
de lo mismo.

lunes, mayo 01, 2006

La carretera

Enfrente de mi se extiende la carretera hasta donde la vista alcanza. Una recta perpetua que termina al empezar el horizonte. Nunca ví el inicio y no alcanzo ver el final.

En cada oportunidad, mi papá nos procuraba algún paseo cuando pequeño junto con mis hermanos y mamá. Hubo algunos tan largos que alcanzamos a recorrer la mayor parte del sureste y hubo otros más frecuentes que llegaban al "pueblo", al lugar de origen de mi abuelo. En cualquiera de los casos al frente del volante iba papá. Callado, inmerso en sus pensamientos. Mirando la carretera eterna y ocasionalmente el retrovisor.

Alguna vez comentó lo mucho que le gusta manejar en carretera. Ahora que veo el infinito en forma de carretera, concibo todo de otra manera.

"Calla, duerme, piensa,
queda mucho por andar,
la carretera es tensa
y llueve sin parar".

Hace algunos años papá iba al frente del volante de la familia. Ahora, en una carretera distinta voy al frente de mi familia. En el momento en que nació mi hijo mayor se abrió un tramo que quisiera o no requería que me hiciera cargo. Y de ahí al presente, con descalabros y otro par de paradas (el niño rete-inquieto y la princesa) seguimos haciendo camino.

"Cada día despierto
en distinta habitación
donde doy con mis huesos
cuando está saliendo el sol,..."

Frente al infinito asfalto, se me agolpan en la mente las rutas que convergieron en la mía. Un aviso de carretera indica que si tomamos esa ruta llegaremos a Huichapan. Mi abuelo paterno nació en Maravillas, Hidalgo, bueno, tomemos como referencia Maravillas aunque seguramente nació en alguna ranchería aledaña.

La historia de esa ruta, conseguí que la contara mi abuela hace algunos años.

Seguramente en plan de chaperona, mi abuela acompaño a una de sus hermanas (supongo que mayor que ella) a la capital. Ahí la hermana se encontró con su "galán" y quiero pensar que en contubierno, iba misteriosamente acompañada. La hermana se fue con el "galán" y mi abuela se quedo con el "acompañante". No tengo el detalle de todo el asunto pero fijas en mi memoria están las palabras "..y me soplaba en las orejitas.." y una risa tan fresca como me imagino que fue en ese entonces. Después de quién sabe cuanto tiempo y que tantas peripecias, llegó la hermana y el "galán", para regresar a su casa, mi abuela solo tuvo una cosa en mente: "Yo no supe como es que había pasado, pero no podía regresar, ya no era lo mismo, no podía regresar..." Ni la insistencia de la hermana consiguió convencer a mi abuela. Y se quedó con el acompañante que finalmente resultó ser mi abuelo.

"Curvas, baches, bares,
perros muertos sin collar,
y la musica que tu,
haz traido para recordar,
aquella niña, que sabe Dios
donde estara."

Mi otro abuelo, nacido en Guatemala y radicado en México, con el casi impostergable anhelo de llegar "al norte" en busca del "american dream", quedó arraigado aquí por el baile y por su negrita. El se dedicaba a vender de oportunidad en los mercados, ella se crió como dama de compañía de una familia acaudalada. Mi abuelo se prendió de "... su figurita, era muy bonita." Y de esa manera se construyó otra carretera en la que finalmente apareció mi mamá.

"dormimos poco y mal
quemando la salud
para llegar al quinto infierno
donde cantaré de nuevo
¿qué estarás haciendo tú?"

Finalmente mis padres me trajeron al mundo enmedio de su propia carretera, con mi padre frente al volante y mamá a su lado. Y entre tantos recuerdos de esa ruta, tengo presente aquella vez en que por el retrovisor me econtré con los ojos tristes de papá y adelante de nosotros la carroza funebre con los restos de mi abuelo.

"Y quisieras irte ya, te duele la
espalda, te miras a un espejo
y ves sudor y whiskey y agua."

Todo esto se ha vertido en mi conscienca en un par de minutos, pero son años viajando en la carretera. Por más que estiro la vista no consigo ver el final y realmente ahora viviendo en esta metáfora no me apuro por encontrarlo. Solo pienso en guiar el volante de mi familia de modo que la ruta de mis hijos tenga menos cuestas, menos baches y mejores lugares. Pero finalmente, al igual que mis abuelos, mis padres y yo, recorrerán su propia carretera.

"El camino no se acaba
continuare sin descanso
si logro llegar hasta el punto final
donde no hay mas por andar.."

jueves, abril 27, 2006

Lo que me da valor

Al menos esta semana no ha sido con días grises, cada uno igual al anterior. Por razones meramente laborales me he visto envuelto en componentes de cifrado, tema que no es uno de mis fuertes así que de repente me siento envuelto en un remolino avallasador de estándares, algoritmos y términos tan obscuros como lo que pretenden realizar.

Dentro de este aprendizaje, recordé que alguna vez navegando por los fuentes de Mono encontré una aplicación que se hacía llamar ASN1View que lo que hace es presentar la notación ASN1 de un documento y como no entendía nada acerca de como estan construidos los PKCS12's y demás, me pareció una excelente oportunidad de utilizarla. Solo existía un pequeño problema. Esta construida para correrse con Gtk# y aunque lo intenté, no conseguí hacerlo funcionar sobre Windows.

Una de las tareas "por hacer" era precisamente un port a Windows Forms, así que alegremente me lancé a la tarea ¿Por qué no?. El lunes pasado conseguí tener algo funcional que me ayudó a entender esto de los estándares, oid's y otros chunches y para el martes me animé a anunciar en la lista Mono-list la existencia del port.

El mísmisimo Sebastian, autor original del viewer, tuvo la gentileza de responder, lo cual me motivo enormemente a terminar con esta tarea.

Estás cosas son las que le dan valor al día. Lo material viene y va. El sentimiento de trascendencia me satisface de una manera muy difícil de describir. No soy el primero en decirlo, pero el satisfacer necesidades sirve como base para que nuevas necesidades aparezcan, éstas últimas más virtuosas y valiosas que las anteriores (al menos en teoría). Tener la satisfacción de trascender en base a mi trabajo me orienta, casi casi me orilla a ser mejor persona, mejor padre, mejor esposo. Esa es la aspiración final. Adquirir una casa no me da ese aliciente. Ante muchos espectadores habré conseguido un gran 'hito' o 'milestone' como individuo, padre y esposo. No para mí. Con o sin casa seguiré siendo el mismo si no estoy satisfecho conmigo mismo.

En fin, tengo trabajo que hacer, por ganar un sueldo y por ganar valor para mí mismo.

lunes, abril 24, 2006

Es lunes en la mañana

Otra vez posteando tarde :P, ya es costumbre. La semana pasada se me fue como agua, un día tras otro sin diferencia más que la ropa que llevaba puesta. Y el fin de semana tan ansiado llego, y como llegó se fue. Sábado. Levantarte tarde (cualquier hora después de las 6:00AM es tarde), desayunar comida de casa con el escándalo de mis hijos. 3 o 4 horas para salir al cine. Divertirnos un rato y comer palomitas entre los ataques de risa provocados por la peli.
Después, comprar comida "china" para llevar y que la flaca no cocine, tiene que descansar a veces. Y me perdí por cerca de tres horas en un sueño abrogradamente reparador. Para las 10:30PM me desperté para cenar y retomar la laptop y el código que deje pendiente a la salida.
Ahora le veo más forma. Le agregué pruebas unitarias para no hacer un cliente de prueba. También instalé el ViEmu y entre las pruebas unitarias y jugar con el ViEmu me alcanzaron las 2:00AM y me fui a dormir.
Entre sueños ansiaba despertar y avanzar con la siguiente clase. Crear las pruebas unitarias que comprobaran que el comportamiento de la clase era el correcto. Pero mi cuerpo se resistía a despegarse de la cama hasta que recibí un par de patadas en los riñones y sin más me levanté a vaciar mi vejiga hinchada. Estuve tirando código hasta que fue hora de ir a misa. Después fuimos al BlockBuster para comprar Narnia y rentar unas pelis. Recogimos la pecera de las gordas (mis tortugas) que estaba en reparación y regresamos a casa. La tarde se hizo lenta y aburrida en lo que terminaba de limpiar la pecera para poder usarla. Al final sigue en la zotehuela ya que la flaca se molestó por un comentario que hice acerca del mueble que me prestaba para servir como base de la pecera.
Me quede dormido en la sala, completamente cuajado a pesar de lo incómodo del apoya brazos. Ahora las 2:00AM me despertaron entre el frío y el sentimiento de soledad. Las tortugas no son las mejores compañeras en la cama. Seguía la laptop encendida así que seguí tirando código. Otra clase más con al menos dos pruebas unitarias. Ojalá y fuera más proficiente tirando código que imaginándomelo. A las 4:30AM encendí el boiler para bañarme y sali al trabajo. Todo fue rutina. Seleccionar la ropa, bañarme, arreglarme, despedirme de la flaca que seguía enojada y salir al frío de la madrugada. En el camión dormí como un bendito. Ni siquiera la histeria de esperar pasar la caseta de la autopista sin que asalten el camión consiguió mantenerme despierto. Llegando a Indios Verdes recuperé la conciencia y el control de mi cuerpo que consiguió hacer "tronar" mis vértebras cervicales al estirarme como gato.
Un amigo dice que vivimos en un país de tercer grado de primaria. Y cada mañana al estar formado en el metrobus lo confirmó. Odio a la gente que se mete a empujones cuando llega el metrobus. Odio que no respeten el orden de la fila. Odio que se sientan con derecho de llegar y meterse solo por que se les hizo tarde. Ese no es mi problema. Yo me levanto temprano si quiero llegar temprano y si se me hizo tarde no es culpa de nadie más que mía. Me dan ganas de gritarles "Hijos de López Obrador" o "Hijos del PRI" cualquiera que más les ofenda.
Es lunes en la mañana.

jueves, abril 06, 2006

Actualización a FC5

En mi laptop tengo dos particiones, una con Windows XP y la otra con Fedora Core, antes 4 y en progreso 5. La mayor parte del tiempo la paso con Windows, sin embargo Linux no ha dejado de tener un cierto encanto para mí sobre todo por Mono.
En Linux, programo como un hombre de verda': vi y compilador. Para los momentos en que reconozco mi lado femenino tengo a MonoDevelop :P.
El proceso de actualización no fue tan sencillo como imaginé, pero gracias a la ayuda de MakuChaku fue que lo conseguí.
En cuanto termine, voy a darme vuelo. Una de las cosas que más espero es poder trabajar Wireless. Adoro estar en mi camita y nawebe@r en internet.

Marca mata experiencia

Hoy (más bien ayer) fue un día algo interesante....
Dentro de la estrategia de ventas de Sonic, trajeron para convencernos a David Chapell, creador del concepto del Enterprise Service Bus y autor de varios libros bajo el tema de integración.
Los buenos vendedores locales dejaron a Chappell hacer la presentación de la marca y parte del producto, posteriormente se le explicó la situación actual y que puntos habrían de atacarse con el ESB. Antes de continuar dejenme decir que la presentación fue de web@... Más de una vez cabeceé por más que quisé adentrarme en la presentación del gringou... Lo peor fue que me tocó atender otra reunión y ya no pude oir de viva voz como fue trazando la solución para nuestra problemática. So sad.
En la reunión que tuve que atender, se presentó una propuesta de arquitectura para un sistema que tenemos en operación con un enorme volumen de operación. Como miembros del jurado tuvimos al director de servicios profesionales del producto que se utiliza y a uno de los consultores seniors.
Escuchamos atentamente la propuesta, la cual en lo particular no me decía nada nuevo. Mucho de lo que se planteo se sugirió o al menos se comentó de nuestra parte anteriormente.
He aquí el meollo de este asunto. Sin descalificar a los consultores que nos acompañaron cuyos comentarios fueron demasiado coincidentes con las opiniones que ya habíamos externado, me sorprende la receptividad que tienen para con ellos. Más directo. A ellos los pelan, a nosotros (los propios) no. ¿Mata marca a experiencia?