March 2008 - Artículos
Hoy gracias a mis queridos compañeros de trabajo me he enterado de la existencia de una Web que me ha llamado la atención por su nombre y por lo que podía contener... la Web se llama Frikipedia y el nombre me ha hecho pensar en que podía encontrar cosas muy curiosas allí. Y de hecho ha sido así, no me ha defraudado la visita.
Lo primero que realmente me ha llamado la atención es la primera pantalla que me ha aparecido en el navegador Web. Se trata de una redirección a una página Web de entrada con un mensaje en pantalla que podéis ver a continuación:
El mensaje es claramente descriptivo:
Se ha detectado una versión de Internet Explorer. Este navegador es potencialmente inseguro.
Te ofrecemos una alternativa mejor:
Firefox tiene mejoras respecto a Explorer, como:
-
Más seguridad contra virus, spyware y fishing.
-
Navegación más comoda con pestañas.
-
Bloqueo de pop-ups y publicidad.
-
Herramientas de búsqueda mejoradas por Google Inc.
-
Respeta los estándares de internet y de la Web.
¡Toma ya!... ¿y esta Web se hace llamar Frikipedia?.
Independientemente del mensaje de entrada, he decidido ir a esta Web para ver alguna información contenida en ella y la verdad es que después de ver algunas entradas como la información que tiene sobre Carlos Slim, Richard M. Stallman, Linus Torvalds o Bill Gates, me he dado cuenta de que estaba perdiendo el tiempo en esta Web con informaciones poco serias y rigurosas y al más puro estilo de salsa rosa y sus paridas. ¿Será el mensaje inicial de esta Web que os mostraba en la captura de pantalla anterior un fiel reflejo del contenido de la misma?.
De hecho, otro mensaje habitual y muy similar al anterior y que se encuentra en otras páginas o sitios Webs es el siguiente:
Vemos que estás utilizando Internet Explorer, que no es compatible con este sitio, ya que Internet Explore no cumple estándares de la W3C. Te sugerimos que descargues Firefox. Pensamos que tendrás mucho gusto de él:
-
Firefox te protege contra virus, spyware, pop-ups y antiphishing.
-
Disfruta de una mejor experiencia web, Firefox está repleto de características útiles para hacer que tu tiempo en línea sea más productivo
-
Firefox te da pleno control sobre los canales web, mostrándote una vista previa y dejándote elegir como te quieres subscribir
-
Elige de entre los miles de útiles complementos que mejoran Firefox. Es fácil personalizar Firefox para adecuarlo a tu gusto
-
El sistema de actualizaciones automáticas de Firefox comprueba siempre si estas usando la última versión, y te avisa cuando está disponible una actualización de seguridad.
No tengo nada en contra de Firefox, de hecho me gusta y mucho, y hasta quizás sea discutible que pueda llegar a ser mejor navegador Web que Internet Explorer o no, podemos incluso debatir de muchos aspectos muy variados llegando a platicar incluso sobre el logotipo de cada navegador Web, pero lo que no me gusta y nada, es que se trate de engañar y confundir a la gente con mensajes catastrofistas como estos que están empezando a proliferar entre la Comunidad Open Source, pro Linux y anti todo cuyo nombre empiece por Microsoft.
Si estuviera mal informado o fuese un usuario con pocos conocimientos de informática, nada más ver ese tipo de mensajes me entraría un calambre por todo el cuerpo, un canguele y un repelús de morirse e instalaría corriendo Firefox pensando en el riesgo que corro por tener Internet Explorer, un navegador Web potencialmente inseguro, un navegador que aún hoy lo usa más del 90% de las personas que navegan por Internet... ¿están todos esos usuarios en peligro?, ¿estan o estamos esos usuarios potenciales navegando de forma insegura?... vamos, que Firefox no necesita ni Firewall, ni antivirus, ni seguridad de ningún tipo, se basta con él mismo.
Por otro lado, en Internet podéis encontrar muchas comparativas entre Internet Explorer y Firefox, pero me hace especial gracia la falta de rigor en quien hace estudios comparativos con versiones Beta (Internet Explorer 8 y Firefox 3) que los hay. Libres son de hacerlos y no quiero criticar la libertad de hacerlos, pero no me parece una prueba que pueda demostrar nada aún y sí vender humo y confundir al prójimo.
Firefox 3 versión final saldrá en uno o dos meses aproximadamente e Internet Explorer 8 a finales de año según diferentes informaciones. Hasta entonces, no sabremos si un navegador Web es más seguro que otro, mejor, etc. Y esa discusión continuará por mucho tiempo porque tampoco es fácilmente demostrable.
Lo cierto es que ahora mismo podemos comparar Internet Explorer 7 con FireFox 2 si acaso, pero las comparaciones son odiosas y se pueden hacer desde diferentes puntos de vista. Así por ejemplo, ¿que pasaría si invirtiéramos los usos de los dos navegadores más usados y más del 90% de los usuarios utilizaran Firefox y el porcentaje actual de Firefox fuera ocupado por usuarios que utilizaran Internet Explorer?... ¿seguirían por ejemplo encontrándose el mismo número de vulnerabilidades en uno u otro navegador o crecerían más las encontradas en Firefox por haber un número de usuarios mayor y con ello más probabilidades de realizar acciones diferentes cubriendo un más amplio espectro de pruebas (estadística pura vamos)?.
No quiero entrar en discusiones filosóficas sobre qué navegador es mejor que otro, de hecho es que ni me interesa porque creo que ambos son los mejores, pero los mensajes apocalípticos que se vierten inconsciente o conscientemente que sería peor por el fondo y objetivos buscados, hacen que escriba esta entrada, mostrando mi disconformidad con algunas formas de actuar en la red de redes que últimamente se van haciendo más habituales.
Y para que veáis que para el gusto están los colores, aquí va un documento de Jeff Jones de Microsoft que analiza las vulnerabilidades de estos dos navegadores Web en los últimos años. ¿Puntos de vista?. Muchos,... pero ¡ten mucho cuidado con ese navegador Web potencialmente inseguro y no lo instales o se borrará tu disco duro entero y perderás tu empleo y todo el dinero de tus cuentas corrientes!.
¡Venga ya!
Microsoft o mejor dicho, Paul Maher del equipo DPE del Reino Unido, ha elaborado un documento en inglés y en formato Pdf y Xps titulado The Developer Highway Code.
Este documento pretender guiar mediante una lista de chequeo o checklist acerca de algunos aspectos de obligado cumplimiento en nuestros desarrollos Software.
Las listas están agrupadas en diferentes apartados y cubre actividades incluso de .NET Framework 3.0.
En estas listas se capturan y resumen las actividades de ingeniería relativas con la seguridad de nuestros desarrollos. Se tratan de guías idóneas para desarrolladores, testeadores de Software e ingenieros.
Recomiendo la lectura de este documento y si podéis, que lo pongais en práctica.
Interesante y nostálgica entrada la que he visto hoy en el blog de Rubén Mugártegui, Gerente de Desarrollo Académico de Microsoft México.
En ella nos habla en el más puro estilo de aquellos maravillosos años de sus inicios con Microsoft Windows, hace ya algunos años como él mismo nos comenta.
Lo mejor es que ha puesto a disposición de todo el mundo algo que quería hacer desde hace tiempo y que me ha ahorrado el trabajo... unas máquinas virtuales con Windows en sus primeras versiones.
Mi intención era tener una máquina virtual con Windows 3.1, pero Rubén nos ha facilitado las máquinas virtuales para Windows 1.01, Windows 2.03 y Windows 3.1.
Las máquinas virtuales pueden ser descargadas desde el espacio de SkyDrive que Rubén ha habilitado para tal efecto en este enlace.
Espero que le sea de utilidad a más de uno... al menos como curiosidad humana y para los nostálgicos como yo lo es. :,-)
Microsoft ha decidido publicar la XAML Technical Documentation o eXtensible Application Markup Language que incluye la especificación técnica sobre este lenguaje basado en XML (eXtensible Markup Language) que permite especificar a los desarrolladores una jerarquía de objetos.
XAML es un lenguaje utilizado principalmente en aplicaciones WPF (Windows Presentation Foundation) y Silverlight.
La documentación proporcionada por Microsoft está cumplimentada en tres archivos de descarga, dos documentos en formato Pdf y un archivo en formato Zip.
Toda la documentación está en inglés.
Los documentos Pdf tienen un tamaño de aproximadamente 9 Mb y 2 Mb respectivamente y contiene información de especificación sobre XAML.
El archivo zip tiene un tamaño de aproximadamente 6.5 Mb y contiene la especificación completa de XAML (los dos ficheros Pdf).
Podrás acceder a esta información en este enlace.
También podrás acceder directamente a los documentos:
Aparece en la página oficial del equipo de Visual Basic la información acerca de un hotfix para Visual Studio 2008 que tiene que ver con el rendimiento de Visual Basic trabajando con Visual Studio 2008. En ese enlace encontraréis también la información adicional de lo que soluciona y porqué la existencia de este hotfix.
El hotfix tiene un tamaño de 3.98 Mb y se puede instalar en todos los idiomas de Visual Studio 2008.
Encontraréis los detalles de la descarga en este enlace de la KB (KB946344).
El enlace directo de este hotfix está en este enlace (3.98 Mb) o en este otro enlace.
Empezaré de una forma directa.
Somos informáticos, muchos de nosotros sabemos y hemos experimentado en nuestras carnes lo que cuesta conseguir un proyecto, y conseguir que un cliente confíe en nosotros, estimar el proyecto, cumplir los plazos, lograr la satisfacción del equipo de trabajo, personal y del cliente, etc.
La labor comercial en todo esto para muchas empresas del sector es fundamental y en muchas ocasiones, además de informáticos, ingenieros, arquitectos, desarrolladores y no sé cuantas cosas más, tenemos que hacer labores comerciales, sin embargo hay algo que siempre se termina discutiendo cada vez que hablamos de informática y comerciales. ¿Debe tener el comercial nociones técnicas?, ¿debe ser un comercial un informático?.
Sin más preámbulos, os muestro una imagen que es muy ilustrativa y luego expreso mis opiniones. Mirad bien el dibujo, pensad, meditad, pensad en vuestro día a día y vuestra experiencia y sacad vuestras conclusiones. Luego seguid leyendo mis comentarios. Es la mejor forma que tenemos de poder contribuir y no hacerse prejuicio alguno. Espero que participéis dando vuestra opinión al respecto.


Enlace directo a la viñeta.
Cuando he visto hoy esta viñeta, no he podido evitar acordarme de la charla que mantuve con algunas personas de estos blogs en la reunión que tuvimos algunas personas la semana antes del lanzamiento de Visual Studio 2008, SQL Server 2008 y Windows Server 2008.
En aquella cena/reunión, tuve la suerte de comentar con Bruno, Luis, etc., algo muy parecido a lo que aparece en esta viñeta.
Recuerdo perfectamente que hablábamos justamente de la distancia que existe muchas veces entre los comerciales de una empresa que se dedica a ofrecer sus servicios con los técnicos reales. Yo recuerdo varios episodios de estos en varias empresas diferentes, y recuerdo igualmente el cabreo que en en alguna ocasión me he pillado.
No he tenido la costumbre de trabajar con un comercial puro informático, y sí con un comercial no solo sin conocimientos amplios de informática, sino también sin inquietudes por preguntar nada. Lo único que hacían esos comerciales, eran mirar unas hojas de métricas para estimar los proyectos (¡que miedo!).
Nunca entenderé porqué el comercial de turno no dialoga, comenta y charla con los técnicos que son los que al fin y al cabo están más acostumbrados en saber cuanto tiempo se tarda en hacer algo y si algo es factible de cara a la tecnología existente. Los técnicos se basan el algo tangible... su experiencia. El comercial se basa en presunciones.
También comentaré que en alguna ocasión me indicaron que debía preparar un pert y dirigir un proyecto en un tiempo estipulado por el comercial porque se había comprometido con el cliente a que debía ser así (con un par), e imaginaros las ruedas de molino que había que hacer para encajar el proyecto en la hoja de tiempos... (¡alucinante pero real!).
¿Y esto porqué?.
En muchas ocasiones, los comerciales tienen unos incentivos que están marcados por la cantidad de proyectos conseguidos. Es como la reciente ley aprobada en Cataluña en la que los médicos cobrarán por la cantidad de pacientes que traten. Ya no importa si el proyecto conseguido por el comercial es una mierda (con perdón) o no, lo que importa es sacar proyectos como churros, que luego estarán los pringados de los informáticos que serán los que tengan que sacar las castañas del fuego. Igual pienso que pasará con el ejemplo de los médidos de Cataluña... ¿el siguiente por favor?,... no me importa si se está muriendo ni nada, a mí me interesa pasar al siguiente paciente y rapidito, que me va la pasta en ello...
La labor comercial no es a veces muy grata, lo reconozco, pero se hace más ingrata cuando no existe sintonía con la parte técnica, no se realizan previsiones previas y no se reúne un gabinete técnico para elaborar la idoneidad de hacer un proyecto o no, la estimación de tiempos, la valoración de la expeciencia en proyectos anteriores, etc. La calidad en esos aspectos, se ve claramente dañada, y al final, un cliente que ha llamado una vez y ha entrado por el aro del "vende motos" de turno, no termina viniendo de nuevo.
No voy a dar lecciones de marketing a nadie, pero recuerdo que en mi época de Universidad siempre me decían una y otra vez lo mismo. Hacer el primer cliente cuesta muchísimo esfuerzo y dinero, mantenerlo tiene un coste, pero perderlo es facilísimo. Y cuando un cliente se va, que vuelva de nuevo es prácticamente imposible.
Yo siempre he preferido decir "no se puede", "no sé como podríamos hacerlo" o "no es posible porque incrementaría mucho el coste", que... "adelante adelante, pase que yo le cobro y después de dos años le digo que ha habido problemas técnicos".
¿Es mejor ser realista o es mejor cazar la pasta y luego decir que no he podido o no he sabido?.
En realidad, lo único cierto en todo esto, es que el que paga los platos rotos son siempre los informáticos, y con ello, el desprestigio de los desarrolladores de Software se incrementa mucho más que el supuesto desprestigio del canalla vende motos que dejó con el culo al aire a los informáticos.
La viñeta que os he traído hoy, tiene mucho mucho de verdad. Lo peor, es que muchas empresas no se fían de muchas empresas porque ya han tenido la desagradable experiencia de haber pasado por el vende motos de turno, y su desconfianza es tan grande que al final, pagamos justos por pecadores.
¿Cómo resolver esto?. Difícil, pero solo pidiendo que el cliente se fíe de la empresa que vende sus servicios (fácil decirlo, difícil lograrlo), y que esa empresa sea muy transparente.
Ahora me viene a la mente mi deformación profesional, e inevitablemente me acuerdo de una metodología que viene como anillo al dedo para que el cliente vea los progresos de un proyecto, compruebe sus desviaciones y vea reflejado el trabajo con lo pactado inicialmente. Esa metodología es como muchos habrán ya adivinado, Scrum.
¿Qué piensas tú de todo esto?

Hace un año, comenté en mi blog alguna información respecto al soporte del runtime de Visual Basic 6.0 en Windows Vista. Aquella información estaba un poco enrevesada, y eso seguramente forzada por los planes internos de Microsoft y algún aspecto de caracter privado que no podían hacer público.
Paul Yuknewicz nos comenta ahora en su blog los importantes cambios que Microsoft ha realizado con respecto al soporte del runtime de Visual Basic 6.0 en Windows Vista y Windows Server 2008.
El runtime de Visual Basic 6.0 está oficialmente soportado en Windows Vista y Windows Server 2008. El soporte se extiende a los controles y componentes comúnmente usados en las aplicaciones de Visual Basic 6.0, incluyendo controles ActiveX como comctl32.ocx y richtx32.ocx.
La noticia es especialmente importante debido sobre todo a que muchas empresas utilizan con éxito aún hoy, aplicaciones desarrolladas con Visual Basic 6.0.
Este soporte, quiere cubrir dos objetivos. Por un lado el dar soporte aún a las aplicaciones desarrolladas con Visual Basic 6.0, y por otro lado, permitir a las empresas que se muevan paulatinamente hacia .NET, Visual Studio 2008 y sus futuras versiones.
Desde hace tiempo, Microsoft recomienda a las empresas mover sus desarrollos hacia la tecnología .NET de Microsoft, pero aún hay muchas empresas reacias a hacer esta migración. Con este apoyo, Microsoft quiere dar tiempo a las empresas, aunque en mi opinión, creo que puede que sea el último apoyo que de Microsoft al runtime de Visual Basic 6.0, así que animo a aquellas personas con responsabilidad o influencia en la toma de decisiones de sus empresas a que piensen en estos aspectos.
Si quieres acceder a la información oficial del soporte del runtime de Visual Basic 6.0 en Windows Vista y Windows Server 2008, puedes hacerlo en este enlace.
Todo lo que tiene que ver con Silverlight 2.0 y el MIX'08 está saliendo a la luz.
Para los que no estuvimos en el MIX'08, es una buena noticia que estos recursos vayan apareciendo, porque así tenemos toda la información necesaria en nuestras manos.
Ahora le llega el turno a los pósters de Silverlight 2.0, que tenemos la suerte de contar con ellos en diferentes formatos y que tiene unas dimensiones de 6750x4200 píxels:
Espero que le sea de utilidad a más de uno.
Hoy me he encontrado con un pequeño problema.
Tengo Microsoft Windows Media Center en mi flamante Windows Vista en el salón, y en él tenía un par de carpetas del disco duro donde tenía un par de álbumes de música en formato MP3.
En la biblioteca multimedia, podía ver estos álbumes y seleccionar las canciones, etc.
El caso es que he comprado un nuevo disco duro y he movido las canciones allí, he realizado una ordenación de las canciones porque estaban totalmente desordenadas, he borrado algunas y he añadido otras, vamos, que la biblioteca original nada tenía que ver con la biblioteca rela ni a dónde debía apuntar.
Ante esto, la pregunta es fácil,... ¿existe alguna forma de reinicializar la biblioteca multimedia y borrar la antigua para cargar una nueva?.
La respuesta seguro es que sí, pero ¿cómo hacerlo?.
Depende de si estamos trabajando con Windows XP o Windows Vista, deberemos ir manualmente a una u otra ruta del disco duro en concreto dependiendo del sistema operativo (la ruta puede oscilar también dependiendo del idioma de nuestro Windows).
Windows XP:
Windows Vista:
Dentro de esta carpeta, eliminaremos todo su contenido.
Al iniciar Microsoft Windows Media Center y acudir a la biblioteca multimedia, esta habrá quedado reinicializada y lista para poder insertar nuevamente nuestros MP3, fotografías, etc.
Espero que esto le sirva a más de uno.
Microsoft, además de anunciar Silverlight 2.0 Beta 1, ha anunciado el pasado 5 de Marzo Deep Zoom.
Como dice Microsoft en el sitio PhotoZoom, PhotoZoom es un sitio de desarrollo experimentalmente que usa la tecnología Silverlight 2.0 Beta 1 para crear álbumes de fotografías y poder ejecutar además sobre esos álbumes la herramienta Deep Zoom.
"Buceando" un poco más.
Deep Zoom permite a los usuarios explorar en colecciones de imágenes de alta resolución (de 2 a 3 Mp - megapíxels) y que han sido realizadas normalmente con cámaras digitales, con el fin de escanear, bucear o hacer zoom sobre la imagen sin tener que esperar a descargarla para hacer ese proceso.
La herramienta de visualización viene con una interfaz que permite realizar el proceso de escaneo, buceo o zoom con un rendimiento realmente asombroso.
Deep Zoom además, está basada en la tecnología Seadragon y Photosynth. En esta primera fase, Deep Zoom proporcionará acceso a las capacidades 2D de Seadragon para soportar el proceso zoom en imágenes de alta resolución, pero es de esperar que Microsoft vaya agregando más posibilidades.
Para ver Deep Zoom en acción, os sugiero acceder a una galería fotográfica de Photo Zoom como por ejemplo esta y ver como funciona la herramienta. A mí en lo personal me ha sorprendido bastante el funcionamiento.
Evidentemente, también podéis subir vuestra galería y comprobar por vosotros mismos el proceso de zoom de las imágenes.
Y ahora que a estas alturas ya tenemos una descripción de que es Deep Zoom, la "chicha".
Microsoft ha sacado a la luz una herramienta de nombre Deep Zoom Composer que tiene por objetivo preparar nuestras imágenes para utilizarlas en Silverlight 2.0 Beta 1 con la característica Deep Zoom.
La herramienta ocupa apenas 2.8 Mb y está, como no, en inglés. Se trata de la versión 0.9.0.1. No olvidéis ver los requerimientos por si se os pasa algo de esta herramienta. El enlace de descarga lo encontraréis aquí.
Por otro lado, Microsoft ha elaborado también un documento en formato Microsoft Word que habla de como trabajar con Deep Zoom Composer. Este documento está elaborado pensando en la herramienta Expression Blend. El archivo de Microsoft Word se encuentra dentro de un archivo comprimido zip. También podemos acceder a este documento en formato pdf.
Como siempre,... ¡que lo disfruteis!
Anuncia Doug Mahugh en su blog, el camino de ruta del tan esperado por algunos Open XML SDK.

Según este camino de ruta, en breve aparecerá la CTP 2 del SDK de Open XML, y en Mayo la versión 1.0 final de este SDK.
Como esta gente de Microsoft no para, a la versión 1.0 le seguirá en breve la primera CTP de la versión 2.0, eso será en este próximo verano, por lo que todo hace pensar que la versión 1.0 está prácticamente concluida a falta de pequeñísimos flecos.
La apuesta de Microsoft es además, alinear la versión 2.0 final de Open XML SDK con la salida de Office 14, la nueva versión de Microsoft Office.
Este SDK ayudará muchísimo por otro lado a que Open XML se termine de asentar en el mercado y que acallen algunas voces críticas que curiosamente se han escuchado en agunos foros críticos con todo lo que hace Microsoft y a favor de todo lo que representa Linux y la corriente Open Source.
Estoy investigando y jugando un poco con Silverlight 2.0 y se me ha ocurrido desensamblar una aplicación Silverlight 2.0 Beta 1 desde un navegador Web para trastear un poco y ver que como se me daba, y la verdad es que aunque el ejemplo que os traigo es básico, el resultado es el esperado.
Para esta demostración, he iniciado por un lado un nuevo proyecto de nombre SilverlightAppDemo1 con Silverlight 2.0 Beta 1 y he agregado un objeto StackPanel dentro del código XAML. Dentro de este objeto he añadido un objeto hijo de tipo Border, y al mismo tiempo y dentro de este último, un objeto Button.
El código XAML es el siguiente:
<UserControl xClass="SilverlightAppDemo1.Page"
xmlns="http://schemas.microsoft.com/client/2007"
xmlnsx="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300">
<Grid xName="LayoutRoot" Background="White">
<StackPanel>
<Border Background="SkyBlue" BorderBrush="Black" BorderThickness="1">
<Button Background="Beige" Content="Aceptar" />
</Border>
</StackPanel>
</Grid>
</UserControl> |
He compilado y he ejecutado la aplicación de demostración y he visto que se ejecuta correctamente.
Si hago clic con el botón derecho del ratón, solo puedo acceder a la opción de Configuración de Silverlight, asi que me he puesto a ver el código fuente de esta página de inicio y he visto en la parte final el siguiente código:
...
$create(Sys.UI.Silverlight.Control, {"source":"ClientBin/SilverlightAppDemo1.xap"}, null, null, $get("Xaml1_parent"));
... |
Así que me he ido directamente a por el fichero SilverlightAppDemo1.xap escibiendo en el navegador Web la dirección http://servidor/aplicación/ClientBin/nombre.xap y lo he guardado en disco.
El fichero xap tiene por objetivo reunir los recursos estáticos de la aplicación (recursos, ensamblados,...).
He abierto el fichero con un editor de hexadecimal y rápidamente he visto que se trataba por la información de cabecera en un fichero .zip.
He renombrado el archivo a .zip y he descomprimido sus elementos:
Con ayuda de .NET Reflector he accedido al ensamblado SilverlightAppDemo1.dll que es el que realmente me interesa, y he podido ver en recursos los dos archivos que agrega al ensamblado:
He guardado en disco page.xaml y he leído su contenido:
<UserControl xClass="SilverlightAppDemo1.Page"
xmlns="http://schemas.microsoft.com/client/2007"
xmlnsx="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300">
<Grid xName="LayoutRoot" Background="White">
<StackPanel>
<Border Background="SkyBlue" BorderBrush="Black" BorderThickness="1">
<Button Background="Beige" Content="Aceptar" />
</Border>
</StackPanel>
</Grid>
</UserControl> |
Finalmente y aparte de examinar el código con .NET Reflector, he querido agregar algo de lógica en la página Web inicial:
Aquí va el código XAML final:
<UserControl xClass="SilverlightAppDemo1.Page"
xmlns="http://schemas.microsoft.com/client/2007"
xmlnsx="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300">
<Grid xName="LayoutRoot" Background="White">
<StackPanel>
<Border Background="SkyBlue" BorderBrush="Black" BorderThickness="1">
<Button xName="btnAceptar" Background="Beige" Content="Aceptar" Click="btnAceptar_Click" />
</Border>
</StackPanel>
</Grid>
</UserControl> |
Una vez agregado el código XAML, pasaremos a escribir la lógica del código de este formulario y que tiene relación directa con el evento btnAceptar_Click.
El código es el siguiente:
Partial Public Class Page
Inherits UserControl
Public Sub New()
InitializeComponent()
End Sub
Private Sub btnAceptar_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
Me.btnAceptar.Content = "Botón pulsado"
End Sub
End Class |
Ejecutaremos nuestra aplicación y repetiremos los mismos pasos con .NET Reflector que hemos hecho anteriormente.
Observaremos que además del código XAML, somos capaces de obtener el código correspondiente con la lógica de programación del formulario y que está relacionado en concreto con el código del control Button:
Private Sub btnAceptar_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
Me.btnAceptar.Content = "Bot" & ChrW(243) & "n pulsado"
End Sub |
Internamente, Silverlight traduce los caracteres especiales a caracteres HTML para que no haya problemas en la presentación de ñ, tildes, y otros caracteres especiales.
Recordar únicamente, que un fichero de extensión .xap contiene un manifiesto de la aplicación (AppManifest.xaml), y los ficheros dll necesarios para ejecutar la aplicación. La dll principal es la de la aplicación (SilverlightAppDemo1.dll en mi caso) y las librerías o ensamblados asociados o dependientes de la aplicación (System.Windows.Controls.dll y System.Windows.Controls.Extended.dll).
Examinando el manifiesto de la aplicación, observaremos que este contiene la definición de la aplicación y sus partes o ensamblados necesarios.
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" xmlnsx="http://schemas.microsoft.com/winfx/2006/xaml" EntryPointAssembly="SilverlightAppDemo1" EntryPointType="SilverlightAppDemo1.App" RuntimeVersion="2.0.30226.2">
<DeploymentParts>
<AssemblyPart xName="SilverlightAppDemo1" Source="SilverlightAppDemo1.dll" />
<AssemblyPart xName="System.Windows.Controls" Source="System.Windows.Controls.dll" />
<AssemblyPart xName="System.Windows.Controls.Extended" Source="System.Windows.Controls.Extended.dll" />
</DeploymentParts>
</Deployment> |
No es mucho pero es una curisodad que espero ayude a entender como despliega Silverlight 2.0 Beta 1 una aplicación y que partes tiene o puede tener un ensamblado dentro así como el contenido real del fichero .xap.
Hoy de casualidad, me he enterado de la existencia de unos PC de pequeñísimo tamaño y en concreto uno de ellos.
Existen en el mercado placas para PC de diferentes dimensiones, y una es la que me ha llamado la atención, las placas de tipo Pico-ITX.
El caso es que se me ha ocurrido interesarme un poco más por esta placa y este tipo de PC y he encontrado aspectos de alto interés. También he encontrado aspectos que disminuyen igualmente ese interés.
En concreto me he interesado por el sistema de la imagen, un VIA ARTIGO Pico-ITX. Este PC se distribuye en una caja como si fuera un kit de automontaje, con instrucciones y todo.
Este sistema dispone de una CPU VIA C7 a 1GHz, con soporte de hasta 1 Gb de memoria RAM SODIMM DDR2 533 Mhz, conectores IDE y SATA para un disco duro de 2.5", 4 puertos USB, entrada de red Ethernet 10/100 y un precio reducido, unos 300 €.
Los "peros" son que el disco duro y la memoria RAM debe ser adquirida aparte. Además la tarjeta gráfica y sus prestaciones le hacen ser un PC justito para temas relacionados con videos y juegos. El precio incluso en algunas circunstancias es a veces un pelín elevado. Este PC soporta Windows 2000 y Windows XP, aunque no Windows Vista. El soporte sobre Linux no está tampoco asegurado al 100%.
Pero por otro lado tiene varias cualidades. La mayor virtud está sin duda en su tamaño, ya que ocupa lo que una unidad de 5.25". Eso significa que puede ser incluso insertado en una torre de sobremesa o similar. Por otro lado, los 4 puertos USB permite conectar un ratón y un teclado, nuestra tarjeta WiFi y una unidad de CD/DVD, e incluso otro disco duro. Además, tiene soporte para agregar un cable VGA para poder pasar la imagen a un televisor que soporte esta conectividad... es decir, podemos tener un Media Center a un precio reducido, aunque sus prestaciones igual no son las más deseadas. Otra de sus cualidades es su peso, 520 gramos. Además, creo que incluso se puede conectar al mechero del coche, y tiene salidas de altavoces (audio) y de microfono. Como podemos ver, un pequeño lleno de capacidades.
Así que ya me puedo llevar en la mochila, un VIA ARTIGO Pico-ITX, un teclado enrrollable y un ratoncito muy sencillo (los hay también muy pequeños y muy chulos).
Sobre ratones, poco más que contar. Un ratón USB o inalámbrico son suficientes. Un teclado USB también,... pero por rizar el rizo que no quede, porque también me he fijado en este teclado: Manhattan True Touch Roll-up Keyboard

Este teclado se puede enrrollar y transportar fácilmente y su precio está a partir de los 12 €.
Imaginaros llegar con vuestra mochila, sacar este pequeño PC, el teclado enrrollable, su ratón, el cable VGA y ale, a disfrutar de él.
El tamaño de este "bicho" es pequeño, y como muestra un botón:

Lo que no he podido ver aún, es su rendimiento y su funcionamiento,... y ganas no me queda, porque la verdad es que me estoy planteando en comprarme uno. Sé que no será ni de broma igual que muchos de los portátiles que se están vendiendo hoy día, pero sí me interesaría ver que tal es este pequeñín.
He estado mirando precios, y los más baratos los he encontrado ahora mismo en USA, aunque no me atrevo a tomar el paso.
Eso sí, es una frikada muy chula. No sé si terminaré cayendo... aunque no lo veo claro del todo debido a las posibilidades que aún no tengo seguro que me pueda ofrecer la CPU. ¿Valdrá para desarrollar aplicaciones con Visual Studio 2008?, ¿solo servirá como firewall o gestor de correo?, ¿se podrá mostrar un video o una animación sin que haya cortes en la imagen y/o sonido?.
Y aquí algunos enlaces más para quien quiera conocer alguna cosa más sobre este especimen.
Microsoft ha publicado la última versión de su SDK o Software Development Kit de DirectX.
Esta nueva versión contiene la documentación y runtime de DirectX para desarrollar aplicaciones que utilicen esta tecnología.
El único "pero" que le pongo es que en la página de descarga comentan que con el SDK se podrán crear aplicaciones en C/C++ y C#,... ¿se habrán olvidado de incluir VB o simplemente es que no se puede? (estoy hoy susceptible, lo siento pero VB es como mi niño).
Volviendo a la información del SDK, la versión de descarga es la 9.22.1284 y tiene un tamaño de casi 450 Mb. Por supuesto, toda la información está en inglés. Del resto de idiomas no hay ni rastro de momento.
En este SDK se han incluido algunas novedades como Direct3D 10.1 RTM, XAudio2 y XACT3 RTM, etc. Son muchas novedades y todas en la página de descarga del SDK a la que podrás acceder desde aquí.
Microsoft como ha pasado con la versión de Microsoft .NET Framework 3.0, ha sacado unos cursos gratuitos de e-learning sobre Microsoft .NET Framework 3.5.
El curso es el 6161, y su descripción es "Collection 6161: Developing Rich Experiences using Microsoft .NET Framework 3.5 & Visual Studio 2008".
Dentro de este curso, encontraremos otros 3 más que son:
-
Clinic 6262: Introducing Windows Workflow Foundation using .Net Framework 3.5 & Visual Studio 2008
-
Clinic 6263: Introducing Windows Presentation Foundation using .Net Framework 3.5 & Visual Studio 2008
-
Clinic 6264: Introducing Windows Communication Foundation using .Net Framework 3.5 & Visual Studio 2008
Estos cursos son en inglés y la suscripción es gratuita.
La suscripción por otro lado, dura 1 año. Ya no hay excusa para aprender Microsoft .NET Framework 3.5 o para repasar lo aprendido hasta ahora y actualizarse a la última versión de Microsoft .NET Framework.
¡Que os aproveche!
Nada más aparecer Microsoft Silverlight 2.0 Beta 1, me puse a instalar todo el conjunto de herramientas necesarias para poder disfrutar de la nueva versión de Silverlight, y entre esas herramientas, una denominada Microsoft Silverlight Tools Beta 1 for Visual Studio 2008 (en inglés 55 Mb).
Al instalar las herramientas para Visual Studio 2008, el instalador me dió un problema que resolví metiendo el DVD de la instalación de Visual Studio 2008.
Problema resuelto, pero... claro, ¿y si no tenemos el DVD a mano?.
Se me ocurrió instalarlo sin el DVD a mano descomprimiendo el instalable y haciendo doble clic sobre un ejecutable de nombre VS_SilverlightTools_Beta1_Setup.exe, pero siempre me quedará la duda de si la instalación estaba hecha correctamente o no a pesar de que indicaba que la instalación para Visual Studio 2008 se había realizado correctamente, así que como ya ha habido alguien que ha indicado como llevar a cabo la instalación sin incluir el DVD, aquí va esa entrada.
Nota actualizada: Respecto a algunos problemas que aún y así se dan a la hora de instalar las herramientas para Visual Studio 2008, existe otra información que igual es de utilidad. La encontraréis en este otro enlace.
En el caso de que aún y así a la hora de crear el proyecto con Silverlight 2 de un error, deberemos ejecutar la instrucción devenv.exe /resetskippkgs desde la línea de comandos de Visual Studio 2008.
¡Por fin llegó!
Para los más despistados y que no sepan aún lo que es Silverlight, aquí están las webs oficiales (1) y (2). Además de las páginas o sitios web oficiales, comentaré que Microsoft sacó hace ya algún tiempo lo que denominó Silverlight 1.0. Poco después se puso manos a la obra para mejorar esta primera versión de Silverlight y sacó la primera beta de Silverlight 1.1, sin embargo, a Silverlight le empezó a dotar Microsoft de muchas más características y mejoras, muchas de ellas provinientes de la Comunidad de desarrolladores y diseñadores, y con esas peticiones y mejoras, Microsoft decidió agregar muchos más cambios de los que tenía previsto, por lo que la denominación de Silverlight 1.1 pasó a llamarse Silverlight 2.0, ya que el cambio de versión de 1.0 a 2.0 era más normal que de 1.0 a 1.1.
Y aquí nos encontramos ahora, a las puertas de Silverlight 2.0.
Durante el MIX 08 que se está celebrando en estas fechas en Las Vegas (USA), Microsoft ha liberado SL 2 Beta 1, o lo que es lo mismo, Microsoft Silverlight 2.0 Beta 1, la primera versión Beta del esperado Silverlight 2.0.
Además de Microsoft Silverlight 2.0, también se han liberado diferentes ejemplos demostrativos (y los que nos quedan) de la nueva versión de Silverlight,... esto para ir abriendo boca.
-
Los ejemplos demostrativos relacionados con Silverlight 2.0 y Web Services pueden ser encontrados
en este enlace. Recuerda que según indica Microsoft, estos ejemplos no son compatibles con versiones anteriores de Silverlight (1.0).
-
-
Y por supuesto, para los menos entrenados con Silverlight, también Scott Guthrie ha publicado un interesante material que puede ser accedido
desde este otro enlace.
-
Y ya hablando de otros ejemplos demostrativos, encontramos el
tutorial 0 de una serie de tutoriales o pequeños laboratorios que sobre Silverlight 2.0 va a ir creando
Jesse Liberty.Te sugiero por otro lado, no dejar de visitar el enlace de los
tutoriales del sitio de Silverlight donde escribe Jesse Liberty, ya que parece que es allí dónde aparecerán los tutoriales que comento sobre Silverlight 2.0.
-
-
-
-
-
-
Como podemos observar, ¡Silverlight 2.0 llega con fuerza!.
Aquí encontrarás los enlaces de descarga de Silverlight 2.0 Beta 1:
Y algún enlace extra sobre las herramientas de diseño y desarrollo con Silverlight:
Nota: Las actualizaciones más importantes están agregadas a esta entrada, pero aún faltan algunas cosas que iré actualizando a medida que vayan apareciendo en los próximos días. Gracias por la comprensión y paciencia.
¿Alguien conoce Scrum & XP from the trenches de Henrik Kniberg en el que nos explica de forma teórico-práctica como aplicar Scrum en proyectos reales?.
Seguramente que más de uno sí sabe lo que es y a que me refiero, pero si sabes eso, sabrás también que el libro electrónico o guía electrónica de Scrum y XP desde las trincheras, está escrito en inglés, lo cuál genera molestias y dificultades a más de uno.
Sin embargo, la gente de proyectalis ha traducido este famoso documento a nuestro idioma.
Podréis acceder al archivo PDF de la guía de Scrum y XP desde las trincheras en este enlace y a la web proyectalis en este otro enlace.
Espero que le sea de utilidad a más de uno.
Después de la serie de artículos publicados por el equipo de Visual Basic sobre el aprendizaje de LINQ para Visual Basic 2008, ahora, el mismo equipo de trabajo de Visual Basic nos deleita con una serie de artículos sobre Visual Basic y XML.
En esta serie de artículos a modo de recetas, se irán desgranando las novedades más destacables de Visual Basic y XML.
A medida que se vayan publicando más entradas las iré actualizando en esta noticia como hice con el anterior aprendizaje de LINQ para Visual Basic 2008. Espero que esta documentación le resulte interesante a más de uno.
VB XML:
Recordar finalmente, que esta información está escrita en inglés.