miércoles, diciembre 07, 2005

¡Liberado Composite UI Application Block (CAB)!

En el blog de Eugenio Pace, se anunció hoy la liberación del Composite UI Application Block.
Recordemos que en abril de este año, tuvimos la oportunidad de escucharlo cuando en la Comunidad .NET del D.F. presentó Enterprise Library. En esa misma ocasión nos refirió brevemente el trabajo que se estaba realizando en relación al CAB y finalmente, lo tenemos listo.
Este Application Block es muy interesante, ya que nos permite ir creando UI por partes en aplicaciones WinForms, tipo WebParts y sobre todo proveé de la infraestructura para realizar esa interacción casi mágica de los componentes UI que se vayan integrando.
Me encanta, que estos tiempos de AJAX y "software-on-demand", todavía se exploren nichos de oportunidad para las aplicaciones de escritorio.

lunes, diciembre 05, 2005

'on toy?

Creo que no se está publicando. Espero que sip.

miércoles, noviembre 23, 2005

La verdad está allá afuera

Hoy se lleva a cabo el evento Encuentro Nacional Prosoft 2005 donde se estará tratando por enésima vez el esta estrategia institucional para el desarrollo del sector de las tecnologías de información.
A mí me parecen curiosos los temas con los que participa Microsoft en este evento. Por una parte, una obligada presentación acerca de Microsoft Windows Vista, y por otra las presentaciones asociadas a Xbox 360 y desarrollo de juegos con .NET.
Éstas últimas son las que despertaron mis inquietudes.
Bien sabido es que la nueva consola de Microsoft está basada en una plataforma no Intel, si no en la línea de procesadores PowerPC-based de IBM. Sin embargo, siguen promoviendo el desarrollo de videojuegos para esta consola con herramientas .NET.
Hasta la fecha, el SDK de .NET solo se ha ofrecido para procesadores x86 de 32 y recientemente de 64 bits. Para el desarrollo de videojuegos en Xbox 360, ¿existe una versión de .NET corriendo sobre PowerPC? Si es así, ¿por qué Microsoft no la hace pública?

martes, noviembre 22, 2005

Nice demo of Mono

Scott Hanselman, widely known because his "Ultimate Tools List", has published on his blog an interesting demo of Mono compilation and compares the generated IL code.
Althoug not extensive test, good enough to get a little more attention to the cross-compiling characteristics of Mono.

martes, noviembre 08, 2005

Premio de consolación

Para aquellos que no tuvieron la oportunidad de participar en Desarrollador Cinco Estrellas 2005 y obtener gratis su copia de Visual Studio .NET 2005, aquí está el premio de consolación.
Ayer se anunció la liberación de las versiones Express de los productos 2005. Estos van a estar disponibles de manera gratuita durante un año completo y al momento de registrarlos se obtienen algunos beneficios adicionales.
Antes de tener en mis manos las versiones beta y rc1 de VS.NET, estuve trabajando con estas herramientas y realmente son muy útiles. Digo, tienen sus limitaciones pero para el alcance de un estudiante, un desarrollador que tiene la inquietud de conocer .NET o proyectos sencillos, están bastante adecuadas.

viernes, noviembre 04, 2005

Buenas nuevas

El descuido de las cosas importantes y la mercadotecnia ha dejado a un lado la liberación de .NET Framework 2.0. Durante más de un año hemos esperado Visual Studio.NET 2005, estamos al pendiente de su lanzamiento, versiones beta y demás olvidando que la piedra fundamental es el Framework.
Aún así, yo mismo entré en la competencia para obtener mi VS.NET 2005 gratis y lo voy a tener ya que conseguí mi segunda estrella del programa Desarrollador Cinco Estrellas 2005.
Espero recogerlo durante el lanzamiento en México que será el próximo 15 de noviembre.

martes, noviembre 01, 2005

Pa'reirse un ratín

Leyendo el blog de Griffin Caprio, me encontré la liga a este cómico video.
Véanlo, ríanse, relájense.

domingo, octubre 30, 2005

Debilidad humana y vitalidad recuperadas

Ha sido una quincena larga. Una mudanza, más trabajo, menos estudio, menos blogging.
¿Dónde está la debilidad humana? En la fiaca. Después de encontrar mi carrera alternativa (mudancero) ha sido una flojera mayúscula, sobre todo mental.
Para despertarme de este aletargamiento, cayó en mis manos un caso de instalación y configuración en una nueva plataforma (al menos para mí).
Echar a andar WebLogic Integration en Itanium 2 ha sido uno de esos casos donde me aferré a conseguirlo y lo conseguí. ¿Cuál es el mérito? Conseguirlo. ¿Qué valor tiene en medio de un México de políticos bribones y desastres naturales? Sentirme vivo. Sentirme capaz. Sentir que puedo aportar algo, mi labor diaria, a la construcción y reconstrucción de este país.

martes, octubre 11, 2005

Race To Linux Winners!

Hoy han publicado los ganadores del concurso Race To Linux y es muy grato encontrar a un mexicano entre los ganadores.
Héctor Armando Rodríguez Esparza resultó ganador en la tercera versión de la contienda. Héctor usó Grasshopper para hacer la migración de Reports Kit para ejecutarse sobre Linux.
Otras tecnologías consideradas para la migración fueron Mono y PHP.
Así pues, una felicitación enorme a Héctor.

jueves, octubre 06, 2005

Primera Estrella DCE2005

Justo acabo de presentar y aprobar el exámen para la 1a Estrella de Desarrollador Cinco Estrellas 2005. Créanme que es un placer. No es una certificación pero como siempre, sirve de medida.
¡Anímense! Además hay que recordar que si se completan las dos estrellas antes del 7 de noviembre de 2005, se puede obtener gratis un Visual Studio 2005 Standard Edition.
Para más detalles, visiten la página de la convocatoria.

domingo, octubre 02, 2005

Disculpa Pública

El viernes pasado fue la reunión mensual de la Comunidad .NET del D.F. en la cual tuve la oportunidad de ser invitado como expositor.
A decir verdad, debo reconocer que lo presentado no estuvo al nivel de las expectativas de la audiencia, más numerosa que el regular acostumbrado. No cumplí con lo comprometido. Cualquier justificación me suena excusa.
Me he sentido abrumado desde el momento que salí del local. Los asistentes dedicaron su tiempo de un viernes de quincena buscando compartir conocimiento.
Ofrezco a la Comunidad .NET una disculpa por ese desempeño tan mediocre, por una presentación tan pusilánime.
Espero que la acepten.

lunes, septiembre 26, 2005

Estress e intolerancia

Me duelen los brazos, el cuello y la espalda.
Pasé la última hora explicando a un par de compañeros de la ofi, ya maduros, el uso de un par de utilerás de cifrado en *nix. Me sorprende lo cuadrada que se vuelve una persona con el paso del tiempo. Fue difícil, bastante difícil compartir la idea de telnet, shell script, variables, llaves privadas y públicas.
El desentendimiento, real o fingido, casí me lleva al colapso físico y mental. ¿Seré yo así? Además de batallar con los presentes, se levantó una duda en mi interior ¿Cuando llegará mi límite? ¿Cuando me veré igual que estos dos hombres, rememorando glorias vanas del pasado sin adecuarme al presente?
Me aterra. Me apanica (en la mejor tradición foxista). Y ese el otro nacimiento de mi stress, o tal vez el resfriado, gripa, flú o lo-que-sea que me agobia desde la semana pasada, pero que hoy ha aprovechado completamente el descalabro y cansancio emocional.
Me acabo de tomar dos comprimidos de ácido acetilsalicílico con la esperanza de recobrar la presión normal en mi cavidad craneana. Ojalá y funcionen y sea un buen resultado para este fío y gris lunes metropolitano.

¡Nuevo desafío!

Hoy, en algún momento del día, se abren las inscripciones a la actualización del ya conocido programa Desarrollador Cinco Estrellas. Al igual que los productos se van poniendo al día, esta forma de autoaprendizaje y evaluación también toma nuevos aires.
Desarrollador Cinco Estrellas 2005 además de ponerte al día, te ofrece la oportunidad de conseguir gratis una copia de Visual Studio 2005 Standard Edition si consigues aprobar los exámenes necesarios para conseguir la segunda estrella de este nuevo programa.
También menciona la posibilidad de revalidar exámenes anteriores, así que tal vez no sea tan complicado para aquellos que ya labraron su camino en la versión anterior del DCE.
Pero..... Hoy es la fecha y al momento de publicar este post, todavía no funciona el mecanismo de registro. Espero que arranque a lo largo del día por que yo si me quiero ganar un VS.NET 2005 de a grapa.

miércoles, septiembre 14, 2005

Spring.NET alcanza 1.0

Ahora sí es la buena. En un post anterior comenté acera de la liberación de Spring.NET, pues bien, aquella fue solo un RC1.
Precisamente hoy han anunciado la liberación de la versión 1.0 definitiva, la cual corrige algunos errores y la deja lista para produccón.

martes, septiembre 13, 2005

Programación Avanzada

Después de otra temporada sin escribir debido a varios eventos, retomo el teclado para exponer una duda existencial: ¿Qué es Programación Avanzada?.
Esto, debido a que dentro de los temas que se solicitaron para la próxima reunión de la Comunidad.NET de la Cd. de México se incluyó "Programación Avanzada". Algunos de los expositores ya hicieron sus propuestas, aunque no todos convergemos al mismo punto.
Así que ¿cómo lo definimos?
Si vamos por contrarios, la programación común es la contraparte y eso lo defino como lo que haces todos los días, código simple y llano para acceder a la base de datos, crear clases, formatear cadenas, hacer una entrada en un log. Digo, ¿qué cosa me pondría a pensar? ¿qué es eso que no puedo hacer sin una googleada? En mi caso justo acaba de suceder: criptografía. Para mí eso es avanzado.
Programación de Threads sería otro tema. Remoting otro más. Al final, lo avanzado cae dentro de lo que no conocemos o de lo que reconocemos como una especialidad. Criptografía es una especialidad dentro del tema de Seguridad. Threading es una especialidad dentro de la administración de un servidor. Remoting es una especialidad dentro del campo de la interoperabilidad.
Ya será parte de nuestro trabajo encontrar una especialidad y esperar que otros especialistas compartan su experiencia.

viernes, agosto 26, 2005

CTP liberado de Enterprise Library para .NET 2.0!

Así sin más, el equipo de Enterprise Library pone a disposición de la comunidad la versión August CTP of Enterprise Library for .NET 2.0.
El readme que viene con el archivo, aclara los puntos que se incluyen, lo que funciona, lo que todavía no funciona y sobre todo algo que hizo que saltaran mis ojos: Dependency Injection.
El tan sonado tema, ahora en EL... Interesante, ya que hace poco se anunció la liberación de Spring.NET y todavía más, encontré por ahí Castle Project que es otra implementación más de Dependency Injection.
En una serie de webcast acerca de arquitectura, Avanade, el alma matter de EL, presentó el tema de Frameworks, donde se vió que los servicios que se tienen con EL son meramente de infrastructura, y en su caso, complementó mediante aspectos, otro punto que ofrecen tanto Spring como Castle así que ahora... ¿Cuando introducirán aspectos en EL? El modelo que presentó Avanade es harto interesante, como plataforma de desarrollo empresariales.

sábado, agosto 20, 2005

Comentarios: Pragmatic Starter Kit: Unit Testing in C# with NUnit

Terminé de leer este libro y me ha quedado un excelente sabor de boca. No puedo recomendarlo más. Trata de manera directa y precisa el uso de pruebas unitarias en el contexto de C#, yendo un más allá de la mera sintáxis de NUnit, aclarando sobre todo el como usar las pruebas unitarias, que se debe probar, maneras de anticiparse a los errores, Mock Objects (¿cuál será una buena traducción para esto?) y finalmente una tarjeta con los principios generales y prácticas recomendadas para el uso de las pruebas unitarias que sirve de recordatorio de los temas leídos.
Este libro forma parte de una triada, que toca en los restantes tomos los temas de control de versiones, con sabores CVS y SVN, y la automatización de los procesos de construcción, pruebas y liberación. Me gusta este enfoque centrado en un tema habiendo leído antes libros que tocan varios puntos a la vez. Esto permite una exposición detallada y a la vez breve (el libro tiene 200 +/- páginas) de los temas sin caer en puntos omisos ni breves introducciones.
Otra característica interesante es la oferta del libro en formato PDF o comprar ambas versiones al mismo tiempo. Tenemos así la versión impresa para una buena lectura de noche o en transporte público y la facilidad de traerlo con nosotros en el disco duro del equipo.
En fin, un libro interesante para novatos y experimentados por igual.

martes, agosto 16, 2005

Nueva versión de Spring.NET

Ya está liberada la versión 1.0 de Spring.NET que tiene como principal característica la implementación de AOP además ser la base para los subsecuentes desarrollos.

sábado, agosto 13, 2005

Patrones, fábricas, contenedores: Spring.NET

Spring es la realización del patrón de diseño Inversion of Control, una alternativa para enfrentar la creciente complejidad en la construcción de soluciones, a las cuales se les exige cada vez más flexibilidad y adaptibilidad a las cambiantes situaciones de la industria.
En la edición de Septiembre de MSDN, Griffin Caprio, miembro del equipo que está desarrollando Spring.NET, publica en la columna Design Patterns el artículo Dependency Injection, una breve introducción a los conceptos de Inversion of Control, Dependency Injection y Spring.NET

lunes, agosto 08, 2005

El café es mi tipo

You Are an Espresso

At your best, you are: straight shooting, ambitious, and energetic

At your worst, you are: anxious and high strung

You drink coffee when: anytime you're not sleeping

Your caffeine addiction level: high

martes, agosto 02, 2005

Patrones de Diseño.

Recién leí en la edición del mes de julio de MSDN Magazine la columna Behind The Scenes que trató acerca de Discover the Design Patterns You're Already Using in the .NET Framework.
Los patrones de diseño son de aquellas cosas que no siempre se entienden la primera vez. Muchas veces nos ayuda verlos ya implementados y en el caso del artículo, como se implementaron en la BCL de .NET.
Una vez conocidos, tiene uno la urgencia de aplicarlos para todo lo que nos va apareciendo (un singleton aquí, strategy por allá, command ¿por qué no?), después de un tiempo, nos recordamos una vez más que todo en exceso es malo. Además de la equivocada idea de que aplicar un patrón de diseño, es copiar el código, perdemos de vista que los patrones de diseño se aplican durante el diseño, no se obvian y se corta y pega código al momento de la construcción.
Los patrones que se mencionan en el artículo son los clásicos de Gamma et alias. Muchos los consideran los "creadores" de los patrones, aunque realmente este concepto viene de otra disciplina, la arquitectura y existen otras fuentes de patrones.
Microsoft por su parte, desde el inicio de Patterns & Practices, ha promovido algunos conjuntos de patrones, así tenemos a Enterprise Solution Patterns Using Microsoft .NET, los Data Patterns y finalmente, Integration Patterns.
Patrones de Diseño. ¿Cuál es el mejor modo de usarlos? Conocerlos, entenderlos y aplicarlos sin hacer "copiar y pegar".

lunes, julio 25, 2005

La tercera es la vencida :)
Un break de casi seis meses, pero heme aquí de vuelta. La motivación (dirían los abogangsters) de este comentario, es la ya anunciada aparición de Microsoft Vista, aka "Longhorn", la página indica que a partir del 3 de agosto de este año estará disponible el Beta 1, así que de seguro ya hay un bonche de manos ansiosas de juguetear con Vista.

domingo, febrero 13, 2005

Casi seis meses. Esta vez si ha sido demasiado tiempo. Pero también han sido bastantes cosas las que han sucedido.
En estos meses, me he involucrado con J2EE, con tecnología "empresarial" (que afán de descalificar todo lo no está etiquetado como "enterprise"), con application servers, queues, persistencia, logs, web services, transaction monitors, patterns, standards, api's....¡waa!
He encontrado cosas muy interesantes, y también cosas que me han dejado pensando acerca de aquellos que hacen de sus herramientas de trabajo su religión y viven buscando descalificar a la competencia.
Es increible como termina uno embrollado y llevado a esta "guerra" de bluffing y demostraciones inocuoas que finalmente es parte del negocio de nuestros queridos fabricantes (léase $un y Micro$oft).
Nosotros trabajamos día a día con las herramientas que proveen y solucionamos problemas, nos desesperamos, hacemos "magia" (para algunos), estupideces para otros. Al final, nos apasionamos y plenamente aceptamos la herramienta como parte integral de nuestro ser; suda, vibra y sangra al igual que nosotros. Tal vez hasta en casa la tenemos como un miembro más de la familia, un hijo, una hermana, tal vez hasta lo vemos como padre, con veneración y respeto.
Y damos la vida, nos jugamos la reputación, creamos enemigos en lugar de amigos potenciales, azúzamos con puyas estúpidas y pretendemos tener la más grande.
Cuando por alguna situación nos tenemos que ubicar en la esquina contraria a la de nuestra preferencia, forzados a trabajar con "subherramientas", gadgets con defectos, monoliticos artefactos de la prehistoria, podemos encontrarle todos los errores del mundo. Lo enormemente sorprendente es encontrar ¡que ellos mismos señalan sus errores!
Dentro de todo este aprendizaje express, cayó en mis manos un libro que, correctamente aplicado, nos ayuda ha ubicar, que no existen marcas ni fabricantes ni nada más.
Mi percepción de esta historia, es que Java (el oscuro contrincante) nació de un fortuito accidente mercadológico, estuvo en el lugar apropiado, en el momento apropiado. Gracias a una pujante comunidad se convirtió en un concepto asociado a internet y al igual que la red de redes, tuvo un crecimiento explosivo.
A diferencia de internet, la tecnología Java fue de nuevo incubada y esteroizada bajo la paternal tutela de $un, que sin ser una empresa de software, vió la oportunidad de abarcar otro$$$ mercado$$$. Así que le invirtió tiempo y dinero (sin mucho cerebro) y llevó esa práctica tecnología al stand de herramienta "empresarial" (junto con su hardware, claro). Para eso tuvo que desarrollar (o "reinventar" o maquillar) conceptos rimbombantes que sonaran a "enterprise" y así nació J2EE, claro.
La comunidad Java independiente, a la fecha cuestiona seriamente si el camino al que $un llevó la tecnología Java es el correcto. Cuestiona duramente si su especificación realmente es "empresarial", cuestiona si la guía que ha proporcionado es la correcta para el mundo de desarrolladores que día a día se gana el sueldo usando sus productos.
¿Qué tiene que ver esto en un blog asociado a .NET? Creo que mucho. No le pido a nadie que arranque una desbandada de desarrolladores Java a .NET; no creo que nadie se encargue de vivir encontrando defectos al contrincante (a menos que sea su trabajo).
Lo que veo, es que la comunidad .NET tiene que aprender de estos errores históricos de industria. Tiene que aprender que la comunidad Java es en realidad quién ha hecho crecer la adopción de la tecnología Java, proporcionando herramientas y prácticas que realmente ayudan a resolver los problemos con los que nos enfrentamos todos los días.
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?