July 2007 - Posts

Microsoft Silverlight Tools Alpha for Visual Studio 2008 Beta 2 JULY 2007

Joe, ha sido escribir el anterior post y darme cuenta que teníamos más regalitos para finalizar este caluroso més de Julio: Microsoft Silverlight Tools Alpha for Visual Studio 2008 Beta 2 JULY 2007.

Este otro paquete es exclusivo para Visual Studio Orcas Beta2, integrándose totalmente con el mismo y proporcionando la opción de crear proyectos de tipo Silverlight con C# o VB. Concretamente, estas funcionalidades nos aporta:

  • Intellisense and code generators for XAML
  • Debugging of Silverlight applications
  • Web reference support
  • Integration with Expression Blend
  • Nuevamene, ¿¿Qué estais esperando para instalarlo??Big Smile

    ASP.NET FUTURES JULY 2007

    Para los amantes de Silverlight y ASP.NET AJAX, ya está disponible ASP.NET FUTURES versión del 27 de Julio del 2007. Es paquete contiene un cojunto de funcionalidades extras, las cuales se integran con Visual Studio 2005, Visual Web Developer 2005 Express Edition, Visual Studio 2008 (Beta 2 release) o Visual Web Developer 2008 Express Edition (Beta 2 release).

     Concretamente, estás son algunas de la características que nos aporta esta última ASP.NET FUTURES:

    • ASP.NET Silverlight server controls.
    • New functionality for ASP.NET AJAX Extensions.
    • Dynamic data controls, which enable rapid Web application development when you work with Microsoft SQL Server databases.
    • Enhancements to dynamic languages, including IronPython and Managed JScript.

    ¿¿Qué haceis que no lo estais instalando??Stick out tongue

    Jugando con Expresiones Regulares en diferentes escenarios (XSD, .NET Framework, Python...)

    En un algun momento seguro que todo el mundo necesitamos ayuda de las potentes expresiones regulares, cuyas reglas y sintaxis es igual en cualquier plataforma, pudiendo diferir el modo interno de procesamiento en rapidez o eficiencia.

    Un escenario muy habitual de uso son los esquemas de XML (xsd), donde podemos encontrar la etiqueta pattern, la cual nos permite especificarle el patrón que una determinado elemento de nuestro XML debe cumplir. Lo que debemos de tener claro es que dicha etiqueta pattern indica una plantilla rígida que todo contenido del elemento afectado deberá cumplir. Veamos un ejemplo para especificar un cojunto de palabras alfa-numéricas separadas por comas.

    Esquema que debe cumplir nuestro XML de ejemplo 

    <xs:element name="PalabrasClaves"  type="TipoPalabrasClaves"/> 

    <xs:simpleType name="TipoPalabrasClaves">
         <xs:restriction base="xs:string">
           <xs:pattern value="(([a-zA-Z0-9])+)((,([a-zA-Z0-9])+)*)"/>
         </xs:restriction>
       </xs:simpleType>

    Veamos ahora fragmentos de documentos XML que cumplen dicho patrón:

     <PalabrasClaves>Casa,pepe,mochila,casa2 </PalabrasClaves>

     <PalabrasClaves>perro</PalabrasClaves>

    Veamos ahora fragmentos de documento XML que NO cumplen el patrón, es decir, darían lugar a un documento XML no válido:

     <PalabrasClaves>Ca#sa, &Pepe</PalabrasClaves>

     <PalabrasClaves>casa,</PalabrasClaves>

     <PalabrasClaves>#pepe</PalabrasClaves>

    -------------------------------------------------------------------------------------- 

     Ahora nos vamos a otros escenarios, por ejemplo la librería System.Text.RegularExpressions del Framework .NET o la librería re de Python. Digamos que quisierámos saber si una expresión es válida o no usando dichas herramientas.

    En C#, un posible código de ejemplo que podrías pensar en un principio de novatos sería algo tal que:

     if ( Regex.isMatch( string_expresion_a_validar , (([a-zA-Z0-9])+)((,([a-zA-Z0-9])+)*) ) )

        Console.WriteLine("VÁLIDO!");

    else

        Console.WriteLine("NO VÁLIDO"); 

    Algo semejante podríamos hacer en Python:

    import re

    patron=re.compile("(([a-zA-Z0-9])+)((,([a-zA-Z0-9])+)*)")
    result=  patron.match('string_expresion_a_validar')
    if result != None:
        print result.string[result.start():result.end()]
     

     En estos casos no esperemos un resultado equivalente a lo sucedido anteriormente, ya que las funciones match comprueban si hay alguna coincidencia en nuestra cadena, no estableciendo la rigidez que antes exigían la propiedad pattern de los esquemas XML. Concretamente, los ejemplos que antes nos erán válidos, ahora obtendríamos que la función IsMatch nos devuelve true y la función match  de Python nos devolvería el primer framento coincidente si lo hay, pudiéndose así causar confusiones y creer que nuestras cadenas son totalmente válidas.

    Un programita muy completo para el tratamiento de expresiones regulares es Expresso, el cual muestra, entre otras muchas opciones, un despiece completo de una cadena analizada, indicando de forma gráfica las partes coincidentes, las que no...; recomiendo que lo descargueis si vais a probar cosas de este tipo.

    Haciendo WebCast con Windows Media Enconder

    Una de las posibilidades que nos ofrece Windows Media Enconder es la de realizar WebCast. Exacto, para todos aquellos usuarios de Camtasia con licencia de dudosa reputación (ejem,..,ejem,...), encontramos aquí una alternativa de libre uso, ya que dicho producto es Freeware (enlace de descarga).

    Windows Media Enconder también nos proporciona otras atractivas funcionalidades tales como la realización de streaming frente a un servidor de Windows Media, conversión del formato de archivos de video o audio, o captura de los mismos desde fuentes externas.

    Tras instalar el producto y ejecutarlo, veremos que una de las opciones es la de realizar webcast:

    Siguiendo sin mayor problema el asistente, grabaremos nuestro archivo .wmv o .wma en el directorio deseado, con la calidad de sonido e imagen seleccionadas:

    Posted 25 July 07 10:26 from Escuchoyo | 0 Comments   
    Protocolo Photofinishing Data Format (PFDF)

    Photofinishing Data Format (PFDF) es un señor protocolo en toda regla creado y descrito por la orginación International Imaging Industry Association (I3A), el cual abarca la completa especificación de un flujo de comunicación entre diversas entidades de fotografías, es decir, maquinitas que trabajen en común con un cojunto de imágenes.

    Dicho protocolo es utilizado en laboratorios de imágenes relativamente bien coordinados y con cierto grosor de trabajo, con el objetivo de automatizar el tratamiento de las fotografías sin intervención de alguna persona. Actualmente, me encuentro participando, junto con otros 6 compañeros,  en un proyecto relacionado intimamente con el PFDF. Concretamente, nuestro compañero de la bloguera adimen y de este proyecto,es el encargado de empaparse la especificación y reliazar la implementación base, la cual deberemos de integrar con el resto de la aplicación desarrollada.

    Si os aburrís y dedicis  buscar algo sobre esto en algun buscador o en la Wikipedia, vereis que no es fácil encontrar infomación sobre ello. Por esta razón, y para intentar aunar fuerzas de aquellas personas que estén trabajando con dicho protocolo, bien desarrollando o simplemente conviviendo con el mismo, hemos decido iniciar un artículo en la Wikipedia describiendo que esto del Photofinishing Data Format (PFDF) y cómo se puede utilizar.

     

    La personas que conozcan del tema, espero que aporten su granito de arena compartiendo su conocimiento y experiencia con la comunidad. 

    Getting started to program game

    Como muchos ya sabeis, para programar video juegos medianamente grandotes podemos utilizar las siguientes tecnologías:

    -OpenGL

    -DirectX

    La segunda opción es la plataforma proporcionada por Microsoft. Sobre ella podemos encontrar las siguientes ramas:

    -DirectX no manejado (a nivel más bajo con C++ de siempre)

    -DirectX manejado (bajo las manos del Framework, podemos utilizar otros lenguajes como C# para realizar nuestros video juegos)

    -XNA: Ultima plataforma de Microsoft apoyada en DirectX para facilitarnos al máximo las tareas de nivel más bajo y sólo tener que preocuparnos de la lógica de nuestro juego.

    Para el caso intermedio (DirectX manejado), podremos comenzar aprendiendo los conceptos más básicos con la siguiente web, donde encontraremos paso a paso  pdf's, código y webcast.
     

    Posted 24 July 07 12:57 from Escuchoyo | 0 Comments   
    Filed under ,
    WorkSpace: seleccionar el directorio local de descarga del código fuente de un proyecto de nuestro servidor TFS

    Una vez conectados con nuestro servidor de TFS desde Team Explorer, podremos obtener un proyecto cualquier con sólo pinchar con el botón derecho sobre el mismo y hacer click en "Obtener la última versión" u "Obtener versión específica":

    La primera vez que utilicemos dicha opción, nos preguntará el directorio local destino donde queremos enviarlo. Pero las siguiente veces, aumtomáticamente se lo descargará por defecto al mismo lugar, lo cual es bastante cómodo.  Pero, ¿y si queremos cambiarlo en algún momento?

    Entonces tendremos que modificar lo que en Team System se llama Espacio de trabajo (WorkSpace):

    Hacemos click sobre la opción Espacio de Trabajo o WorkSpace:


    Seleccionamos la máquina actual y pulsamos "Edit", seleccionando el directorio local que deseemos.

    Imagine Cup 2008

    Para los que esta Imagine Cup de Korea se nos ha quedado un poco largo, el próximo año tendremos una oportunidad más cercana: Francia. Exacto, ya habreis podido leer en algún otro blog la características de la próxima Imagine Cup, donde su lema estará intimamente relacionado con la naturaleza y el medio ambiente: « Comment l’informatique peut-il contribuer à sauver la planète ? ».

    Ánimo a todos los estudiantes y a ver que podemos aportar!

    Una idea global de Team System y nuestros Visual Studios
    En uno de los post anteriores instalaba TFS (Team Foundation Server)sobre un servidor virtual (una máquina virtual sobre Virtual Server 2005). El siguiente paso que pensaba contar era ¿y ahora que hago?. No obstante, me gustaría dedicar este post a dar una idea global sobre la arquitectura general de Team System, ya que habrá gente que no conozca exactamente la relación entre su Visual Studio, TFS, Team System..., VS Professional, Standard y Express.

    Empezemos por lo más grande, es decir, empecemos viendo los componentes y su relación de Visual Studio Team System: 

    La siguiente imagen lo resume todo:

    Arquitectura Team System 

    El TFS (Team Foundation Server, es decir, simplemente una edición de Visual Studio que hará de servidor para  el equipo de desarrollo que utilice Team System) que instalábamos anteriormente corresponde con la capa más baja de la arquitectura cliente servidor mostrada en la imagen, donde los clientes serán alguna de la siguientes ediciones de Visual Studio:

    -Visual Studio 2005 Team Edition for Software Architects

    -Visual Studio 2005 Team Edition for Software Developers

    -Visual Studio 2005 Team Edition for Software Testers

     Estos 3 clientes de Visual Studio pueden encontrarse agrupados en la edición Visual Studio 2005 Team Suite, es decir, un Visual Studio que toma las 3 ediciones y las junta en una (esto suele ser util para los que nos gusta ser un poco de todo Stick out tongue )

     Según la edición cliente que usemos(Architects, Developers o Testers), dispondremos de una funcionalidad específica determinada, aunque haya siempre otras muchas básicas comunes. Todas estas ediciones clientes podrán conectarse con el servidor TFS (por ejemplo, mediante el cliente Team Explorer, el cual veremos en el siguiente post) y asociarse a alguno de los proyectos disponibles y permitidos, descargándose la version de código deseada, comprobando sus tareas asociadas (Work Items ; también veremos algo en el siguiente post), etc.

    De forma resumida, ya conocemos Team System. Ahora veamos la relación que tiene con las demás ediciones de Visual Studio:

    -Visual Studio 2005 Profesional: los 3 clientes antes descritos (Architects, Developers o Testers) están basados en Visual Studio 2005 Professional, añadiéndoles pequeños módulos de funcionalidad extra según su especialidad.

    -Visual Studio 2005 Standard: enfocado para el desarrollo de aplicaciones "de forma solitaria", disponiendo de algunas funcionalidades menos que VS 2005 Profesional para el desarrollo de aplicaciones distribuidas.

    -Visual Studio 2005 Express: (comienza la musiquita del anuncio de coca-cola) "para los que empiezan, para los que estudian, para los que no estudian (y deberían),  para los que no tenemos dinero, para todos...Visual Studio Express". Disponemos de diferentes versiones Express según el lenguaje con el que vayamos a programar (C# o VB.NET) y el tipo de aplicación a realizar (Windows Forms o Web (dispositovs móviles no) ).

     Bueno chich@s, espero que ya todo el mundo sepa donde està y que tipo de Visual Studio es.Wink

     Si quereis leer un poco más, os recomiendo el siguiente libro básico para empezar

    Book about Team System
     


     

    Primer MVP de Direct X en España!

    Ya tenemos MVP de Direct X en España!!!

     Nuestro compañero Javier Cantón ha sido nombrado MVP (Most Valuable Professional) de DirectX. Ya está bien que se lo dieranYes,jeje.

    ENHORABUENA crack, te lo has currado! Un saludo!

    Posted 02 July 07 03:25 from Escuchoyo | 0 Comments   
    Filed under ,