miércoles, noviembre 21, 2007

Video Cast 1, Introducción a nueva funcionalidad en .NET 3.5

El primer Video cast esta enfocado a la nueva funcionalidad introducida en .NET 3.5, específicamente se muestra como funciona:
- El acceso automático a propiedades
- La nueva inicialización de objetos

Las herramientas y librerías necesarias u opcionales se listan en este post.

El código fuente de ejemplo puede ser descargado de aquí. El archivo para este video cast es V1.zip
La liga directa al video esta aquí.


Creative Commons License


This work is licensed under a
Creative Commons Attribution-Noncommercial-Share Alike 2.5 Mexico License.

Anuncio de serie de Video casts sobre .NET y Mono

El motivo de este post es para anunciar una inquietud pendiente, he comenzado una serie de video casts con la intención de mostrar como trabajar con el .NET Framework y Mono.

Inicialmente los video casts van a estar hospedados en Google Video, aunque esto desafortunadamente reduce un poco la calidad de la imagen, así que seguiré buscando mejores formas de hacer esto, aunque en buena medida depende de la respuesta que obtenga de las personas que usen los video casts.

El código fuente de los video casts va a estar disponible en Google Code, el cual ofrece un repositorio Subversion, ademas de que en el manejo del codigo hago uso de algunas herramientas libres, las cuales las listo a continuación:
1.- Cliente Subversion, para windows recomiendo TortoriseSVN, en Linux y MAC existen varios
2.- NANT es una herramienta libre para compilar programas en .NET
3.- NUNIT de igual forma herramienta libre para ejecutar pruebas de unidad.

Mi ambiente de trabajo es bajo OSX Leopard, donde ejecuto Mono (actualmente la versión 1.2.6) y mi editor de código fuente es TextMate, pero eso no implica que el código de los video casts no se pueda usar en Windows con Visual Studio o con MonoDevelop.

El código fuente esta liberado bajo la licencia MIT, la cual es bastante liberal con lo que se puede hacer con el código fuente; los vídeos están liberados bajo la licencia Commom Creative para uso no comercial.

Creative Commons License

Dicho todo lo anterior, termino este post y comienzo a preparar el post para el primer Video Cast.

lunes, noviembre 19, 2007

Visual Studio 2008 y .NET Framework 3.5 RTM

Apenas el Jueves pasado, en el evento Tour Tecnológico 2007 en la universidad CESUN, dí la platica sobre las novedades del Visual Studio 2008 y .NET Framework 3.5, las presentaciones de la comunidad se encuentran en el SkyDrive de TJNET.

Pues el día de hoy la noticia que la versión RTM del Visual Studio y el .NET Framework 3.5 ya están disponibles, inicialmente las versiones Profesional y en adelante para los subscriptores del MSDN.

Las versiones Express también se encuentran ya disponibles para descarga.

Mas recursos sobre información y vídeos disponibles los pueden encontrar aquí, aunque el material esta solo en inglés.

martes, noviembre 13, 2007

El mercado de los celulares, un mercado jugoso

O al menos así nos lo hacen ver Apple con la introducción de su iPhone y ahora Google con el lanzamiento de Android.

Definitivamente el mercado de los celulares parece fabuloso, pero esta defectuoso por defecto ... valga redundancia; esta defectuoso porque las compañías telefónicas y los mismos fabricantes de los teléfonos te cierran a utilizar los equipos solo con servicios de ellos, si se quiere crear aplicaciones Web para los móviles, el cobro del servicio GPRS es como un asalto a mano armada, por lo menos en México, y ya ni pensar en 3G, porque aquí no existe - según Movistar esta realizando pruebas en Monterrey, pero igual el servicio debe de estar carísimo -.



Pero volviendo al tema de Android, Google le apuesta a un sistema operativo Open Source para dispositivos móviles, e inclusive anuncia un reto para desarrollar aplicaciones atractivas para su plataforma donde hay premios en un total de 10 millones USD.

Ahora la pregunta, que tanto éxito tendrá Google haciendo que los fabricantes de teléfonos utilicen su plataforma en lugar de las ya existentes?, bueno eso solo el tiempo lo podrá responder, aunque es importante mencionar que Google no es el primero en ofrecer una plataforma Open Source para móviles, el proyecto Gnome ya la ofrece e inclusive hay un teléfono Open Source fabricado por OpenMoko.













Android es interesante por un par de aspectos técnicos. El primero es que es una plataforma que se ejecuta en Linux, por lo tanto es posible hasta cierto punto ejecutar aplicaciones para Linux en cualquier móvil que ejecute Android, de hecho Poky un framework para dispositivos empotrados ya ha sido probado en el emulador de Android.



Otro punto interesante es que programar para Android se ve como Java, se programa con herramientas para Java, pero no es Java, el código final se compila a Dalvik bytecode, donde Dalvik es la maquina virtual que ejecuta las aplicaciones de Android dentro del teléfono.

Google ofrece todas la herramientas necesarias para desarrollar aplicaciones para Android, desde add-ins para Eclipse hasta un emulador de la plataforma, además permite que este set de herramientas se puedan utilizar en Linux, OSX o Windows.

Así que Google ya puso su apuesta, será cuestión de tiempo para ver la respuesta de los fabricantes de móviles y de las mismas compañías telefónicas, por lo pronto el reto de Google para el desarrollo de aplicaciones suena bien, a quien no le gustaría tener una pequeña parte de esos 10 millones de USD? ;)

domingo, noviembre 11, 2007

Tour Tecnológico 2007 en Tijuana

Este jueves 15 de Noviembre se llevará a cabo el Tour Tecnológico 2007 organizado por la comunidad TJ.NET y Microsoft, este evento se realizará en las instalaciones del CESUN, bajo el siguiente programa:

8:30 Registro
8:45 Bienvenida
9:00 Características principales de VS 2008 y el .Net Framework 3.5
Mario Alberto Chávez (Decisiones Inteligentes)
9:45 Construyendo Clientes inteligentes usando Visual Studio 2008, WPF y Expression Blend
Jaime Sánchez (Microsoft México)
10:30 Receso
11:00 Construyendo aplicaciones móviles usando Visual Studio 2008 y el .NET Compact Framework 3.5
Gabriel Flores (Microsoft MVP C#)
11:45 Introducción al ciclo de desarrollo con Visual Studio Team System
Haarón González (Microsoft MVP ASP.NET)
12:30 Desarrollo de aplicaciones interactivas con Windows Live
Jaime Sánchez (Microsoft México)
13:00 Interoperabilidad de documentos con OpenXML
Jaime Sánchez (Microsoft México)

Para registrarse en línea ir aquí.



lunes, noviembre 05, 2007

Richard Stallman en el ITT

Pues el dia de hoy se llevo a cabo la conferencia sobre Software Libre impartida por Richard Stallman en el teatro Calafornix del ITT.

La platica en general fue muy amena, la sorpresa, por lo menos para mi, es que fue totalmente en español por parte de Stallman, como dato curioso, se quito los zapatos antes de comenzar la platica y la dio en calcetines.

Los puntos a resaltar de la platica son los siguientes:
  • Definio que es software libre y porque software de codigo abierto no es lo mismo que software libre, al igual que definio que es software propietario, y pues bueno aqui vino el "yada yada yada..." contra Microsoft
  • Platico el porque a él, el uso de software libre le parece un acto moral, y aqui uso un ejemplo que cito textualmente "si se esta en una alberca y alguien se esta ahogando y uno sabe nadar, es una obligacion moral rescatar a la persona que se esta ahogando, claro a menos que esa persona sea Bush"
  • Comento sobre la ventaja de tener el codigo abierto para resolver problemas rapidamente, inspeccionar el codigo fuente para ver que haga lo que tiene que hacer y que no este espiando al usuario, aqui menciono que dentro de la industria del software, cito textualmente "hay una organizacion terrorista mas poderosa que Al-Qaeda, que se encarga de espiarnos a traves de 'backdoors' en el software propietario, esta organizacion es el gobierno de estados unidos"
  • Hablo sobre las licencias de software libre, especificamente que es la GLP
  • Tambien comento el problema de que el software GNU/Linux se conozca simplemente como Linux, omitiendo la participacion del proyecto GNU, y de la posicion politica de Linus Torvalds acerca de esta situcion, donde segun el, a Linus no le importa el software libre.
  • La platica se centro en relacion a la libretad y los derechos de los usuarios de software, asi mismo critico a las escuelas que enseñan y aceptan el uso de software propietario en lugar de enseñar y utilizar software libre
  • Finalmente hablo que no es cierto que al enforcarse al desarrollo de software libre se pierden empleos ya que el desarrollo de software es una parte pequeña en comparacion a otros servicios de las TI, y que una buena parte del desarrollo de software esta enfocada a desarrollo a la medida, y esta parte seria vigente aun y cuando se emigre a software libre.
  • Al final en algunas de las preguntas - no recuerdo cual era - menciono que para que Mexico alcance una verdadera democracia, el gobierno actual debe romper con su relacion con Estados Unidos.
Mucha gente tomo fotos - yo n traje mi camara -, tambien hubo varias camaras de video, asi que a la mejor en los siguientes dias por ahi aparacen los videos en youtube o algo asi.

Nota: Fotos "malitas" tomadas con mi celular...








Blogged with Flock

jueves, octubre 25, 2007

Richard Stallman en Baja California

Asi es Richard Stallman estara los dias 5 y 6 de Noviembre aqui en Baja California, hoy me acabo de enterar que estara en Tijuana el dia 5 a las 3:00pm PST en el teatro Calafornix del Tecnologico de Tijuana, al parecer va a ser un evento sin costo, entrada libre.

Del dia 6 ya estaba enterado desde hace algunas semanas, se presentara con una conferencia magistral en el CiComp 07 en la UABC de Ensenada, este evento si tendra un costo.



Nota para mi ... como crear un iso a partir de un dmg en OSX

hdiutil makehybrid -iso -joliet -o isofile.iso dmgfile.dmg

Mi primer parche para Mono, toma 2

Ok, mi primer parche para Mono fue aceptado, y debido a la funcionalidad del par de clases que fueron modificadas por mi, es muy probable que los usuarios de Mono cada vez que ejecuten/compilen sus aplicaciones, ejecuten el codigo que escribi ;)

Por otro lado cuando desarrolle el parche, realice un programa con un par de casos de prueba, solo para asegurarme que mi codigo funcionara y que funcionalidad original de los metodos que modifique tambien, el caso es que ese programa de prueba yo ya no lo ejecute en MS .NET, solo en Mono, pues resulta que mi programa de prueba descubrio un "Bug" en el .NET - de acuerdo a Gert quien reviso mi parche de Mono -, y ahora existe un reporte para Microsoft para que solucione el problema, el cual aparece en .NET 2.0 y .NET 3.5, aunque existe otro reporte previo a este problema, Microsoft lo cerro indicando que ya estaba solucionado, pues resulta que no.

Definitivamente para mi fue un buen ejercicio, por haber solucionado mi problema, haber contribuido a Mono, descubrir el problema en OSX, confirmarlo en Windows, desarrollar el parche en OSX, compilarlo y probarlo en Linux y finalmente confirmarlo solucionado en OSX ;)

Bueno ahora a otra cosa ...

miércoles, octubre 24, 2007

Reflection falla al invocar miembros con el attribute ParamArray en Mono

Trabajando en un proyecto con Monorail, el cual estoy desarrollando desde OSX con Mono, el motor de vistas Brail fallaba al compilar una de las vistas, este problema se me presento solo con Mono, ya que en MS .NET la vista funcionaba como debia.

Investigando el problema, me di cuenta que Brail invoca por medio de reflection a los metodos que se indican dentro de la vista, y es precisamente aqui donde Brail fallaba al ejecutar; el metodo en cuestion era el metodo Create de la clase DictHelper dentro del Framework de Monorail, el cual se le pasan parametros de la forma: "property1=value", "property2=value", etc, y el metodo regresa un objeto del tipo IDictionary, este metodo acepta parametros de la forma: Create(params string args).

Params es una palabra clave de C# que permite definir un parametro especial que acepte una cntidad indefinida de parametos, por ejemplo Create esta definido come se mostro arriba, pero la forma en como lo puedo llamar es: DictHelper.Create("p1=v1", "p2=v2", "p3=v3"), es decir le paso un arreglo de parametros. .NET cuenta con un attributo ParamArray, el cual puede ser utilizado desde cualquier lenguaje, lo que sucede una vez que el programa ha sido compilado .NET toma los parametros y los convierte en un arreglo de parametros para que pueda ser pasado al metodo.

El problema de Mono es que no implementa funcionalidad para llamar mediante reflection metodos que usen la palabra clave params, pude haber creado un "bug" para reportar el problema a los desarrolladores de Mono y ya, pero al final me decidi a tratar de implementar el soporte para esta funcionalidad.

Despues de analizar como Mono invoca metodos por reflection, me fue necesario modificar los archivos Binder.cs y MonoType.cs.

El parche y programa de prueba lo envie a la lista de Mono-devel, de momento estoy a la espera de que lo revisen y me digan si lo aceptan o no.

jueves, octubre 18, 2007

Tutorial de Ruby interactivo

En el sitio TryRuby se encuentra un tutorial en linea e interactivo donde se aprende como utilizar el lenguaje Ruby, sin necesidad de ser instalado localmente.

miércoles, octubre 03, 2007

Mas sobre la disponibilidad del codigo fuente de .NET 3.5

Con noticias en Slashdot como "Open.NET - .NET Libraries fo open source", a partir del anuncion de Scott, lo unico que se genera es confusion y discusiones sin sentido.

No, Microsoft no libera el .NET Framework como open source, libera el codigo para referencia, asi como los arhivos .PDB para propositios de depurar aplicaciones, como dije, el tener codigo fuente, no es la gran cosa, ya que con herramientas como reflector siempre se ha podido inspeccionar para tener mejor entendimiento, o bien se puede consultar la implementacion de alguna clase en el codigo fuente de Mono.

Aqui el unico punto importante es el acceso a los .PDBs para depuracion.

La apertura al codigo fuente de .NET, no es algo nuevo ya desde antes de la liberacion del .NET 2.0 se hablaba por parte de Microsoft de liberar el codigo fuente y los PDBs de Windows Forms.

Asi que las teorias conspiratorias sobre un plan maestro para eliminar Mono, publicadas en Slashdot, no tienen sentido; lo unico es que van tener que vigilar mas las contribuciones de codigo para evitar que se utilize el codigo liberado por Microsoft.

Microsoft va a liberar el codigo fuente de .NET 3.5 Framework

Scott Guthrie ha anunciado hoy, que Microsoft va a liberar el codigo fuente de la version 3.5 del Framework .NET que va a salir a finales de este año, el codigo fuente estara disponible bajo la licencia "Microsoft Reference License (MS-RL)".

Esta licencia, como su nombre lo indica, permite utilizar el codigo fuente unicamente como referencia, no es posible tomarlo, extenderlo, modificarlo, incluirlo en aplicaciones de terceros, etc.

Es decir, el .NET Framework 3.5 no se vuelve open source, como aparecio en la noticia de Dotnetkicks.

La unica ventaja que le veo a esto, es que va a ser posible depurar codigo desde el VS.NET con los simbolos y las referencias de codigo fuente del Framework, en cuanto a que sea novedad conocer el codigo fuente de las librerias para enteder su funcionamiento, pues no es nuevo, desde hace tiempo se a podido acceder a su codigo fuente con herramientas como Reflector.

lunes, septiembre 24, 2007

Hugin, fotos panoramicas

Hugin es una aplicacion open source para componer fotografias panoramicas a partir de un mosaico de fotografias.

Hugin funciona en Linux, Windows y OSX.

Algunos ejemplos:





Carretera escenica Tijuana-Ensenada





Rumorosa, vista a Mexicali

martes, septiembre 18, 2007

Cubo tipo compiz para Windows

Si has visto los efectos del cubo de compiz y te gustan, pero no tienes Linux, solo tienes Windows XP o Vista, pues aqui hay un plugin que crea un efecto similar para el escritorio.

lunes, septiembre 17, 2007

Programas libres para OSX

Compendio de programas libres para libres para OSX, libres en el sentido de Open source y gratis. Hay programas en varias categorias: Graficos, Organizacion, Base de datos, Ciencias, etc.

http://web.mac.com/simon_elliott/iWeb/simon_elliott%40mac.com/Software.html

jueves, septiembre 13, 2007

Día mundial del software libre en Tijuana


El día mundial de software libre se llevará a cabo este 15 de septiembre en el CECUT. Este evento esta organizado por la comunidad Linux Baja

Este año tenemos programadas conferencias, distribución gratuita de Software Libre.

El evento es gratuito y se realizará en la Sala de Lecturas del Centro Cultural Tijuana, el sábado 15 de septiembre de 2 P.M. a 6 P.M

Orden del día
  • 2:00 PM - 2:15 PM Registro y Bienvenida
  • 2:20 PM - 3:00 PM Conferencia "Compiz Fusion o Cómo impresionar a tu chic@ en la primera cita"
  • 3:05 PM - 3:45 PM Conferencia "Experiencias con Software Libre"
  • 3:50 PM - 4:30 PM Conferencia "Formatos Abiertos"
  • 4:35 PM - 5:15 PM Conferencia "Ubuntu o Cómo saber la temperatura exacta del punto de congelación de un bubulubu"
  • 5:20 PM - 6:00 PM Conferencia "Retos del Software Libre o Cómo usar Linux sin morir en el intento"

Actividades simultáneas
Distribución gratuita de Software Libre
Se estará distribuyendo gratuitamente el disco “The Open CD” que contiene Software Libre para Windows. Es necesario registrarse el día del evento para obtenerlo.



miércoles, septiembre 12, 2007

Siguiendo los Rubies

Desde hace algunos meses he estado siguiendo a un nuevo jugador en el área de desarrollo de aplicaciones para Web, ese nuevo jugador es Ruby.

Ruby es un popular lenguaje de programación interpretado de pasada-unica con características orientadas a objeto y multiplataforma. Ruby tiene ya como 10 años de que fue desarrollado, pero creo que ha ganado una gran popularidad en los últimos años debido a un framework (marco de trabajo) que permite la creación de aplicaciones web con relativa facilidad y potentes; este framework se llama Ruby On Rails (RoR).

RoR esta basado en 2 patrones primordialmente, Model-View-Controller (MVC); el cual permite realizar una separación entre el manejo de los datos, el control de flujo y la presentación o interface web, permitiendo una mejor organización y control del código de la aplicación, el otro patrón es ActiveRecord, el cual funciona como un ORM, y ayuda a realizar una "mapeo" transparente entre un objeto y una entidad relacional, ayudando a acceder a datos en una base relacional como si fueran objetos.

RoR ofrece algunas características que creo que han sido pieza clave en el éxito que tiene, una de ellas es que al hacer uso del patrón MVC ayuda a crear pruebas automáticas sobre el modelo de los datos y el controlador para asegurar que la aplicación una vez puesta en producción va a funcionar adecuadamente, ademas de ayudar a verificar que cambios introducidos en el código no van a romper funcionalidad existe, y si esto pasa, bueno al menos identificarlos por medio de las pruebas para su corrección antes de pasarlos a producción.

Otra característica interesante es el "Scaffolding", el cual es una manera de poder crear prototipos de una manera rápida en RoR, ya que se crea código de manera dinámica (código para operaciones CRUD) a partir de las entidades de la base de datos, mas tarde el "Scaffold" se puede ir reemplazando por nuestro propio código de forma gradual.

Ruby y RoR tienen una comunidad muy activa que aporta soluciones para extender la funcionalidad de ambos.

Si acaso la única desventaja (desventaja entre comillas) es que como mencione anteriormente Ruby es interpretado al momento de ejecución por un compilador de pasada única, esto implica que no se va a ejecutar tan veloz como un programa nativo (por ejemplo creado en C), pero el que el compilador sea de pasada única ayuda en que código que ya se interpreto no se va a volver a interpretar si se vuelve a ejecutar, en su lugar se va a utilizar su imagen ya interpretada.

Como mencione al principio Ruby ha llamado mi atención fuertemente, pero al parecer hay comunidades fuera del ámbito original de Ruby que también han sido atraídas por las joyas.

Una de esas comunidades, es la comunidad Java con el desarrollo de JRuby, el cual se enfoca en hacer que un programa de Ruby pueda ejecutarse dentro de la maquina virtual de Java.

Otra de las comunidades es la comunidad .NET, en donde a diferencia de Java, se ha implementado Ruby para ejecutarse en .NET, pero no por un grupo de programadores en su tiempo libre, si no que es un esfuerzo lidereado desde dentro del mismo Microsoft, el proyecto se llama IronRuby.

Lo curioso no es que Microsoft haya implementado Ruby para .NET (cuando ya existía un esfuerzo previo, por terceros para llevar a cano esta tarea Ruby.NET), lo interesante son las interpretaciones que gente como Martin Fowler, Scott Hanselman, Sam Gentile y algunos miembros del sitio Codebetter le dan a este hecho.

La realidad es que Microsoft y grupos open source no se llevan del todo, durante ya algo de tiempo han habido golpes bajos y FUD entre ambos; por su parte Microsoft parece estar empeñado a reemplazar las herramientas de desarrollo open source populares en el mundo .NET, por las suyas (por ejemplo el caso de NUnit o NAnt), lo cual es una duplicación de esfuerzo, ya que algunas de esas herramientas no superan a las ya disponibles en open source; pero por otra parte hay descontento entre algunos de los denominados "Líderes Técnicos" en el mundo .NET por la complejidad de las herramientas y tecnologías que Microsoft ha liberado en los últimos años, por ejemplo ASP.NET, cuenta con asistentes que ayudan a crear una aplicación fácilmente en minutos, el problema viene cuando hay que darle mantenimiento a esa aplicación o es necesario "crecerla" a un nivel corporativo, y en buena parte es por el modelo de ASP.NET el cual trata de llevar el paradigma de aplicaciones de escritorio a Web; otro punto es que es un tanto difícil seguirle los pasos a Microsoft en cuanto a la liberación de tecnologías, cambia el rumbo muy fácilmente, en solo un par de años por ejemplo el auge de los WebServices se extinguió y ahora existe WCF, el cual tiene otra visión; parte de este problema son también las incompatibilidades que ocasiones se crea al introducir nuevas tecnologías.

El problema que Microsoft quiere atacar con la implementación de IronRuby (desde la perspectiva de Martin y Scott), es que no esta detrás del dinero, es decir no espera obtener ganancias directas por implementar Ruby, lo que busca es que los "Líderes Técnicos" que están considerando soluciones menos complejas, como por ejemplo RoR, continúen trabajando en ellas, pero dentro de su plataforma Windows ( que ahí si es donde espera ganar dinero ) y no se migren a Linux u OSX, y junto con ellos se queden los desarrollares que siguen las opiniones de estos líderes, que a final de cuentas muchos evangelizadores de la plataforma .NET.

Solo el tiempo dirá si las cartas que se juega Microsoft son las correctas para mantener su amplia base de desarrollares.

Yo por mi parte, me interesa bastante Ruby, de hecho ya instale la plataforma en mi Mac, pero no he tenido el tiempo de experimentar con RoR; aunque tengo algunos proyectos web, el requisito hasta ahorita de mis clientes es que sea en ASP.NET, aun así he decido implementar los proyectos con MonoRail y ActiveRecord para .NET, con la finalidad de irme haciendo mas a la idea de RoR, tanto MonoRail como ActiveRecord están implementados en C#, pero con la misma filosofía del framework RoR, pero de ellos espero hablar en un siguiente post.

miércoles, septiembre 05, 2007

Morrissey en el Foro

Este 20 de Septiembre viene Morrissey a El Foro de Tijuana, venta de boletos a partir del 8 de Septiembre.

Nota: El anuncio del concierto aparecio en la edicion del Zeta de la semana pasada

Era cuestion de tiempo

El dia de hoy tanto Scott Guthrie de Microsoft como Miguel de Icaza anunciaron el acuerdo de colaboracion para llevar Silverlight oficialmente a Linux/Unix.

Si bien Microsoft anteriormente yua habia colaborado en proyectos de codigo fuente abierto como Xen y PHP, al parecer es la primera vez que colaboraria en el area de escritorio (segun lo que espresa Miguel en su post).

El acuerdo consiste en implementar las especificaciones Silverlight 1.0 y 1.1 en el proyecto llamado Moonlight, al cual Microsoft le ofreceria el apoyo necesario para que se lleve a cabo, ademas de poner a disposicion los codecs binarios para audio y video para Linux/Unix.



Miguel comenta que Moonlight continuara siendo open source, lo unico que permanecera cerrado son los codecs de Microsoft, pero que Moonlight puede utilizar otros codecs que sean open source aunque no se puede asegurar en ese caso la compatibilidad con Windows.

Aunque el acuerdo al que se llego esta demarcado por lo dicho anteriormente, el esfuerzo del equipo Mono no se centra en solo ejecutar aplicaciones Silverlight, tambien se esta desarrollando herramientas para poder diseñar aplicaciones en Linux/Unix y MacOS, ya que la herramienta Expression Blend de Microsoft para el diseño solo va a estar disponible en Windows. Aqui es donde entra en juego "Lunar Eclipse" que aun esta en proceso de desarrollo.



Ahora solo resta esperar y ver cual es la reaccion de los "trolls" en sitios como Slashdot al respecto de este anuncio.