[#VS11] Disponibles los instaladores para Visual Studio 11 Beta (te duelen los ojos de tanto #METRO)

image

Buenas,

además de Windows 8 que ha sido la gran novedad del día de hoy, aquellos que nos dedicamos al desarrollo de aplicaciones ya tenemos la posibilidad de descargar el nuevo Visual Studio 11 Beta. Antes de seguir simplemente advertir lo siguiente

¡¡¡ESPERO QUE TE GUSTE LA INTERFAZ METRO, PORQUE AHORA LO VERAS HASTA EN SUEÑOS !!!

Dicho esto, ya podemos ir al sitio oficial de descargas de Visual Studio 11, http://www.microsoft.com/visualstudio/11/en-us/downloads. Donde vemos los web installers de Visual Studio Ultimate y Team Foundation Server.

image

Metro 1

Si en cambio queremos los instaladores standalone (o satán alone como les decía un jefe mío), pues seleccionamos esa opción y … más metro !!!

image

Metro 2

Y ya te digo que no te salvas, en cualquier opción que selecciones >Metro >Metro >Metro >Metro >Metro >Metro >Metro > Sonrisa

image

Vamos que antes de formatear mi ya viejuno Windows 8 Developer Preview e instalar el nuevo Windows 8 Consumer Preview, tengo un tiempito de descarga, interfaz metro de por medio.

Saludos @ Home

El Bruno

   

Descargas: http://www.microsoft.com/visualstudio/11/en-us/downloads

[#TFS2010] HowTo: Configurar una Build para que publique symbols

image47dd1de4

Buenas,

me lo voy a apuntar porque sino siempre me olvido. En este caso, mi escaso set de neuronas se olvidan de que para tener un set de pruebas automáticas con Intellitrace activo en una ejecución de una build, es recomendable publicar los símbolos (symbol data en inglés) que están relacionados con nuestra Build. Para esto simplemente sigo los siguientes pasos

1. Crear un directorio compartido donde se almacenarán los símbolos. Por ejemplo //DROPSERVER/Symbols

2. Dar permisos Full al usuario que ejecuta la Build

3. En la definición de la Build, seleccionar el proceso y editar el mismo.

4. En la sección “Basic” modificar

Index Sources = True

Path to Publish Symbols = Share creado para los símbolos

image

Listo !!!

 

Saludos @ Home

El Bruno

   

Fuente: http://msdn.microsoft.com/en-us/library/hh190722.aspx

[#KINECT] Cambios en #KinectSdk desde Beta 2 a SDK V1.0 (I)

image47dd1de4

Buenas,

antes que me queden obsoletos y mientras sigo participando en el MVP Summit 2012 pero de forma virtual, vamos con algunos de los cambios que tenemos que tener en cuenta si tenemos aplicaciones para Kinect que utilicen el Kinect SDK Beta 2 y pensamos en migrarlas a Kinect SDK V1.0.

Referencias

Inicialmente teníamos una referencia a Microsoft.Research.Kinect

image

Con el nuevo SDK tenemos que resolver la referencia inválida y agregar una nueva a Microsoft.Kinect.

image

 

Inicialización del Sensor

Cuando utilizábamos la Beta 2, teníamos que definir la inicialización del sensor utilizando el método Initalize() y al mismo le pasábamos una serie de parámetros para inicializar la cámara, el sensor de profundidad o la detección de skeletons.

   1: void InitKinect()

   2: {

   3:     if (Runtime.Kinects.Count == 0)

   4:         return;

   5:     kinect = Runtime.Kinects[0];

   6:     RuntimeOptions = RuntimeOptions.UseDepthAndPlayerIndex | 

   7:         RuntimeOptions.UseSkeletalTracking | 

   8:         RuntimeOptions.UseColor;

   9:     kinect.Initialize(RuntimeOptions);

  10:     kinect.DepthStream.Open(ImageStreamType.Depth, 2, ImageResolution.Resolution320x240,

  11:         RuntimeOptions.HasFlag(RuntimeOptions.UseDepthAndPlayerIndex) || 

  12:         RuntimeOptions.HasFlag(RuntimeOptions.UseSkeletalTracking) ? 

  13:         ImageType.DepthAndPlayerIndex : ImageType.Depth);

  14:     kinect.DepthFrameReady += this.KinectDepthFrameReady;

  15: }

Con el SDK V1.0 esto es mucho más simple. Creo que el siguiente código, donde solo se inicializa el sensor de profundidad, es lo suficientemente declarativo como para que se entienda que ahora lo importante está en la línea 7.

   1: void MainWindowLoaded(object sender, RoutedEventArgs e)

   2: {

   3:  

   4:     if (KinectSensor.KinectSensors.Count == 0)

   5:         return;

   6:     this.kinectSensor = KinectSensor.KinectSensors[0];

   7:     this.kinectSensor.DepthStream.Enable();

   8:     this.kinectSensor.Start();

   9:     this.kinectSensor.DepthFrameReady += this.KinectSensorDepthFrameReady;

  10: }

Si además del sensor de profundidad quisiésemos activar el stream de la cámara y además el reconocimiento de skeletons, el siguiente código es el que tenemos que utilizar. Las líneas 7, 8l y 9 son las importantes.

   1: void MainWindowLoaded(object sender, RoutedEventArgs e)

   2: {

   3:  

   4:     if (KinectSensor.KinectSensors.Count == 0)

   5:         return;

   6:     this.kinectSensor = KinectSensor.KinectSensors[0];

   7:     this.kinectSensor.ColorStream.Enable();

   8:     this.kinectSensor.SkeletonStream.Enable();

   9:     this.kinectSensor.DepthStream.Enable();

  10:     this.kinectSensor.Start();

  11:     this.kinectSensor.DepthFrameReady += this.KinectSensorDepthFrameReady;

  12: }

 

En próximos posts otros ejemplos sobre algunos cambios desde Beta 2 al SDK Final.

 

Saludos @ Home

El Bruno

   

Download: http://www.microsoft.com/en-us/kinectforwindows/develop/overview.aspx

[#VS2010] Sobre LightSwitch y como trabaja con sus bases de datos internamente

image47dd1de4

Buenas,

desde hace un par de días me estoy dando un baño de Visual Studio LightSwitch. Puede gustarte o no, pero para sacarte de un apuro en la generación de un CRUD rápido, pues es bastante potente. Sin embargo, cuando tienes un ordenador con más versiones de prueba de producto que versiones estables, sueles encontrarte con errores como los siguientes.

Lo primero que me encontré, fue al momento de lanzar mi aplicación de LightSwitch un error relacionado con la versión de SQL Server.

   1: Error    67    Sql Server version not supported.

   2: 11.00.1440    C:Program Files (x86)MSBuildMicrosoftVisualStudioLightSwitchv1.0Microsoft.LightSwitch.targets

Claro, la versión express de Denali que tengo instalada no le gusta a LightSwitch. Así que decidí cambiarla desde la configuración de Visual Studio: “Tools // Options” y luego en la sección “Database Tools // DataConnections”. En mi caso la opción que aparecía era “.SQLEXPRESS” y esa versión de SQL es la 11.

image

Cambié el valor por una versión 10 de SQL Express que tengo instalada en local, pero tampoco funcionó la aplicación. Lo siguiente fue ir a ver el target de ejecución. Ya que teníamos la ruta del target en

C:Program Files (x86)MSBuildMicrosoftVisualStudioLightSwitchv1.0Microsoft.LightSwitch.targets

Pues  veamos que tiene el código del mismo dentro. Me encontré con varias cosas, pero lo que más me llamó la atención era que se utilizaba siempre una propiedad

$(SqlExpressInstanceName)

que no estaba declarada por ningún lado.

   1: <!--The Development Database is built in the same location - BinData - for all configurations.-->

   2: <BuildSchema Inputs="@(LightSwitchModel)"

   3:              ProjectPath="$(MSBuildProjectFullPath)"

   4:              OutputDirectory="BinData"

   5:              SqlExpressInstanceName="$(SqlExpressInstanceName)"

   6:              ExternalDataSources="@(ServerExternalDataSources)"/>

   7: <!--The _IntrinsicData connection string should be updated to use the SQL Express Instance Name

   8:     from the LightSwitch Project' Property-->

   9: <UpdateDataSourceSection ConfigFile="$(OutDir)web.config"

  10:                          Name="_IntrinsicData"

  11:                          Key="Data Source"

  12:                          Value=".$(SqlExpressInstanceName)"/>

 

Así que lo siguiente fue editar el proyecto de LightSwitch. Este valor no es configurable por ningún sitio, salvo que edites el archivo de proyecto *.lsproj y dentro del mismo puedes ver algo similar a lo siguiente:

   1: <PropertyGroup>

   2:   <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>

   3:   <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>

   4:   <SchemaVersion>2.0</SchemaVersion>

   5:   <ProjectGuid>c3800149-599b-4dbc-ba07-190956453c17</ProjectGuid>

   6:   <OutputType>WinEXE</OutputType>

   7:   <CopyBuildOutputToOutputDirectory>false</CopyBuildOutputToOutputDirectory>

   8:   <RootNamespace>Application5</RootNamespace>

   9:   <AssemblyName>Microsoft.LightSwitch.Server.Host</AssemblyName>

  10:   <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

  11:   <LightSwitchVersion>v1.0</LightSwitchVersion>

  12:   <LightSwitchProjectVersion>v1.0</LightSwitchProjectVersion>

  13:   <Name>Application5</Name>

  14:   <LightSwitchProjectType>LightSwitch</LightSwitchProjectType>

  15:   <GenerateManifests>true</GenerateManifests>

  16:   <SignManifests>false</SignManifests>

  17:   <BaseIntermediateOutputPath>bin</BaseIntermediateOutputPath>

  18:   <ApplicationClientType>Desktop</ApplicationClientType>

  19:   <ApplicationServerType>LocalHost</ApplicationServerType>

  20:   <RequireSecureConnection>true</RequireSecureConnection>

  21:   <AuthenticationType>None</AuthenticationType>

  22:   <ApplicationName>Application5</ApplicationName>

  23:   <AssemblyVersion>1.0.0.0</AssemblyVersion>

  24:   <ServiceDefinitionFile>ServiceDefinition.csdef</ServiceDefinitionFile>

  25:   <ServiceConfigurationFile>ServiceConfiguration.cscfg</ServiceConfigurationFile>

  26:   <SqlExpressInstanceName>.sqlexpress</SqlExpressInstanceName>

  27: </PropertyGroup>

 

En mi caso, cambié la línea 26 por el valor correcto, hice un reload del proyecto y todo funcionó. Pero antes de seguir un par de datos a tener en cuenta

  • Cuando creas un proyecto de LightSwitch siempre tomará el valor configurado en Visual Studio. Si cambias los settings de Visual Studio, este cambio no se refleja en el proyecto.
  • Tanto Visual Studio como LightSwitch tiempre trabajan con un sql local. Y esto que parece un detalle muy simple hace que el nombre de la instancia con el formato “.INSTANCIA” sea inválido. Hay que poner solo el nombre de la instancia “INSTANCIA”

Bueno a seguir con el mega proyecto Risa

 

Saludos @ Here

El Bruno

   

[#VIDEO] La alegria como incentivo en lugar de como premio, para no sufrir por perderme el MVP Summit 2012

Buenas,

ayer me di contra un muro al intentar viajar a Seattle por un problema técnico (yo prefiero describirlo así). Sin embargo lo que más me llamó la atención fue la pésima atención al cliente que posee IBERIA (si @iberia) en la Terminal 4 del aeropuerto de Barajas. No voy a entrar en detalles ya que para eso he dejado una nota de reclamación, pero en lugar de tirarme abajo la moral me dediqué a estar con la familia y hoy a buscar algunas charlas en el TED que hablen sobre esto mismo.

El siguiente video es realmente interesante. Habla entre otras cosas sobre como podemos cambiar nuestro estado de ánimo con un pequeño ejercicio diario de 2 minutos. No comento más nada al respecto para no dar spoilers, pero si sos como yo y dedicas 10 minutos al día para un video de TED, este seguro que te gustará.

 

Saludos @ Here

El Bruno

   

Fuente: http://www.ted.com/talks/view/lang/es//id/1344

[#TFS11] TFS Express, ahora sí gratis, gratarola! e integrado con Visual Studio Express!

image

Buenas,

ya no es noticia porque se ha comentado bastante, pero por fin podemos hablar de ello. Ayer el gran Brian Harry, dio la noticia en su blog de que finalmente TFS va a ser parte de la familia Express de Visual Studio como un producto GRATIS más. Hace ya casi 3 años de que salió este tema a debate, y después de varias palizas con el equipo de producto, se vio que la opción de que sea 100% Express es una buena idea.

Los datos completos te los comenta el Brian Harry en su post, pero los puntos más importantes son los siguientes:

  • Es igual que un TFS Basic.
  • Gratis para equipos de hasta 5 personas. Eso significa que podrás agregar solo 5 Windows Ids diferentes en un grupo. (la trampas es muy fácil aquí y da miedo desde un punto de vista de gestión!!!!)
  • SQL Express como repositorio. Buena opción Risa
  • Incluye el Dashboard de Agile, pero no habilitan las herramientas de planning. Esto es un error desde mi punto de vista. Si quieres que alguien utilice tu producto, da una versión reducida en cantidad de usuarios pero no en funcionalidad.
  • Los productos de VS Express tendrán capacidad para trabajar con TFS Express. Esto último es grandioso. Ahora sí, 4 personas sin gastar un €uro pueden montar un equipo de desarrollo 100% free con productos Microsoft.

Me lo apunto como la buena noticia de la semana y veremos que más nos cuentan en Seattle la semana que viene.

 

Saludos @ Home

El Bruno

   

Fuente: http://blogs.msdn.com/b/bharry/archive/2012/02/23/coming-soon-tfs-express.aspx

[#ALM] Video: Planeta ALM

image47dd1de4

Buenas,

hoy toca un poco más de auto bombo sobre el trabajo en proyectos globales utilizando Visual Studio 2010 ALM. Un poco de experiencia con proyectos de Avanade, otro poco de experiencia personal y finalmente la presentación de VSAnywhere.

 

 

Y si lo que buscas es algo de Kinect >> pues http://globbtv.com/12/microsite/2021/12-horas-visual-studio-programacion-de-aplicaciones-con-kinect

 

Saludos @ Málaga

El Bruno

   

Video: http://www.globbtv.com/12/microsite/2039/microsoft-alm-sessions-2012-planeta-alm

[#OFFICE] HowTo: Configurar una cuenta de LiveId sin utilizar el conector de Hotmail en #Outlook

Buenas,

si tienes la suerte de probar una versión de Office que todavía no ha salido al mercado, verás que la misma es IMPRESIONANTE! Pero claro, NDAs de por medio no podemos escribir nada al respecto, así que me apuntaré un pequeño step-by-step para poder utilizar Outlook XX con una cuenta de LiveId. En mi caso mi cuenta es brunocapuano [at] superlive [.] com, así que debo pasar del sistema de autodiscovery de Outlook y configurar esta cuenta manualmente.

Una vez que has seleccionado la opción para agregar una cuenta manualmente, debes completar los datos como muestro en la siguiente imagen donde lo importante es configurar correctamente POP3.live.com y SMTP.live.com.

image

Presionando la opción More Settings, en la pestaña “Outgoing Server” debemos seleccionar la opción “My outgoing server (SMTP) requires authentication”,

image

Finalmente en “Advanced” es necesario configurar los datos como en la siguiente imagen.

image

Saludos @ Home

El Bruno

   

Referencia: http://support.microsoft.com/kb/287604

[#ALM] Continuous Deployment, alla vamos !!!

Buenas,

desde hace unos días se está llevando a cabo una discusión interesante en los grupos de Agile Spain sobre Continuous Deployment. Si bien algunas entradas son para autoafirmar que cada uno es el mejor implementador de SCRUM que existe, o para explicar el porqué de una práctica como integración continua, hay muchas que merece leer solo por el hecho de comenzar a cambiar nuestra forma de pensar. Primero lo primero, y antes lo de siempre: para lograr un entorno con CD, necesitas tener un apoyo 100% de la dirección, una integración muy fluida entre los equipos de Desarrollo y los equipos de Sistemas, etc. etc. etc. En otras palabras esta es una práctica que requiere un nivel de madurez muy alto en cuanto a prácticas se requiere. Si nos fijamos por ejemplo en Wikipedia, la definición de Continuous Deployment no existe, aunque si existe un link inválido desde Continuous Integration

Lo que si existe en Wikipedia es el concepto de Continuous Delivery, donde se explica como aplicando las prácticas de Automated Testing, Continuous Integration y Automated Deployment es posible lograr montar un entorno de Continuous Delivery. Uno de los principios de esta práctica es acelerar los tiempos de despliegue de una aplicación a un entorno específico, ya sea un entorno de test o inclusive de producción. En mi caso aprovechando las capacidades de Team Build 2010 y Azure que podré ponerme con ello en el próximo proyecto que tengo en manos.

Nota: El único gran problema que tengo en vista ahora que estoy planeando este modelo, es la poca capacidad de despliegue que posee un entorno como Windows Phone, vamos que es una castaña para automatizar esto mismo. Le preguntaré al crack de Josué Yeray (@JosueYeray ) para ver que recomienda.

En este punto, mi modelo de trabajo inicialmente se basará en 2 líneas de desarrollo (gracias a un muy maduro modelo de branching que tenemos en Avanade Spain) donde siempre estarán disponibles (es decir desplegado) para probar

  • Un entorno con la aplicación desplegada a partir del último output de una build con una ejecución correcta (build + unit tests) de la línea de desarrollo.
  • Un entorno de AZURE para TEST con la aplicación desplegada a partir del último output de una build de una rama que ha pasado una batería de pruebas de UX.

Obviamente detrás de todo esto, seguiremos aplicando Test Driven Development, asegurando una sintaxis homogénea utilizando StyleCop, asegurando el control de proyectos gracias a TFS y alguna buena práctica a definir, etc. Pero vamos, que al final la idea sigue siendo la misma:

Mejorar la forma en la que desarrollamos software diariamente

image

Cuando lo haya implementado y pueda evaluar el resultado de implementar y mantener esta práctica por un tiempo, ´comentaré mis impresiones.

 

Saludos @ Home

El Bruno

   

Recursos:

PD: Acabo de comprarme el libro en Amazon (http://bit.ly/zbiP9A) a tan solo €28.

[#VS2010] Debugger Canvas version 1.1 released !!!

image47dd1de4

Buenas,

hace ya bastante tiempo hablé de Debugger Canvas. Esta extensión para Visual Studio 2010 te permite depurar aplicaciones de una forma diferente. Lo que hace es abrir nuevos bubbles o canvas con las diferentes funciones/porciones que código que vamos depurando y conectando las mismas. De esta forma tenemos una vista de bubbles sobre los elementos que depuramos. Un video para que quede más claro.

 

Video: http://msdn.microsoft.com/en-us/devlabs/debuggercanvas

Pues bien, hace poco tiempo se liberó una nueva versión que tiene las siguientes novedades

  • Se muestran las llamadas recursivas con una nueva bubble por llamada (esto era un poco tedioso antes)
  • Soporte para depuración multi thread
  • Soporte para el cambio entre depuración con Debugger Canvas, y  la depuración clásica con un único clic. Esto era imprescindible en algunos escenarios.

Así que ya sabes, si tienes Visual Studio 2010 Ultimate, pues ya puedes comenzar a depurar más dinámicamente tus aplicaciones.

 

Saludos @ Home

El Bruno

   

HomePage: http://msdn.microsoft.com/en-us/devlabs/debuggercanvas