[#IOT] Windows on Devices, all IoT (Internet of Things o Internet of Todo como decimos aqui)

 

image

Hola!

Hace un par de días escribí un post donde redireccionaba a la gente al programa “Windows on Devices” de Microsoft. Muchas de las personas se han apuntado en el mismo solo para conseguir un Intel Galileo gratis, sin embargo el programa es algo mucho más amplio. Tenía pendiente extender un poco el contenido del mismo así que para esto este post.

  • Lo primero que hay que remarcar es que este programa es un programa para developer.

Si ya conoces plataformas como Arduino, el paso a las nuevas herramientas (tanto de hw como de sw) será casi natural. Eso sí, teniendo en cuenta de que puedes utilizar Visual Studio como herramienta de desarrollo (he dicho que esto es de lo más cool del programa?)

  • Otro detalle interesante es que todo el código existente de Arduino será compatible con un Galileo.

Hummmmmm … me quedan mis dudas. El código de ejemplo de un Blinky es igual que en Arduino, hasta ahí OK. Lo que pasa es que todos sabemos que los “Hello World” funcionan siempre, veremos que pasa cuando migremos código más complejo.

image

Nota: Si has creado código muy complejo en Arduino es para matarte. Lo complicado no será la migración sino algunas bibliotecas específicas para sensores no estandard.

Solo hay que ir a la página principal del programa para poder ver TODO.

  • El Galileo como viene no sirve, hay que “plancharle” una imagen especial a través de una SD.

Ojo con esto, si tienes un Galileo de antes, no podrás instalar el plugIn de VS y darle al teclado y al whisky. Primero tendrás que “preparar” el Galileo con unos sencillos pasos (link)

Nota: welcome back telnet.

  • Este programa es hermano o parte de ISS, Intelligence System Services.

Ahora te preguntarás, y esto? queloqué? Pues eso, ISS es una serie de Servicios montados en Azure para trabajar específicamente con proyectos de IoT. Y detrás de esto que hay, .Net Compact Fwk? no .. Windows Embedded !!! Ahora se aclara todo un poco, Galileo ejecutará un WE para poder tener todo más controlado.

Si a eso le sumamos la compatibilidad con Arduino, la integración con Azure y el soporte de ISS, este programa es realmente

UNA APUESTA BUENÏSIMA PARA QUE LOS DEVELOPERS CREEMOS APLICACIONES CONECTADAS.

Por último, si en tu cabeza suenan palabras como “universal Apps”, “C#”, etc. Date una vuelta por el FAQ para ver que todavía nada.

Home: http://dev.windows.com/en-us/featured/Windows-Developer-Program-for-IoT

Githttp://ms-iot.github.io/content/SampleApps.htm

FAQ: http://ms-iot.github.io/content/WelcomeAndFAQ.htm

Saludos @ Home

El Bruno

image image image Google

[#INTEL] Quieres probar un #Intel #Galileo? pues ya estas tardando en pedirte uno … #4Free

Hola!

Y si, lo que lees. Solo tienes que entrar a http://www.windowsondevices.com/, darte de alta en el programa y podrás probar un Intel Galileo 4 free !!!

image

Aquí podría escribir el tipo de app que puedes crear, lo que debes responder, etc … lo mejor es que entres y pidas un Galileo gratis y luego a conectarlo a Azure y a comenzar con la world domination !!!

Saludos @ Home

El Bruno

image image image Google

[#AZURE] When you get a "Could not load file or assembly ‘ Microsoft.WindowsAzure.ServiceRuntime,…" it means make some coffee, long nights are coming

Hello!

When a Cloud Service app that is working since months stops working without a log trace or error log, you know it’s time to prepare some coffee, long nights are waiting for you. Even more if the exception is sporadic and reproduce the error is not trivial.

In this particular case the error was not an exception, at the end it ended up lost as a bad Http Response. To get to this conclusion, I had to break one of the most important rules in a Dev Team:

I’ve debugged the production environment (well actually I didn’t, but the phrase must scare someone!)

I still remember the headaches that I get, when I get my hands into a production server and see development tools installed in the server. The most extreme one was in a customer and find that the transaction manager service had stopped working because… someone had killed the VisualCafe instance (all the JBoss transaction manager service was being executed with a F5 from VisualCafe, and thus lasted several days!).

In our case, the strange thing is that we get to the 2nd most hated sentence for developers

IT WORKS IN MY LAPTOP !!!

And that’s it, locally with the Azure everything works fine. However in production we find the ghosts and goblins. So to find the solution we have several options, one of them involved IntelliTrace and logs, the other was much more cooler Winking smile

The solution was to create a new Cloud Service App in Azure, deploy our solution there (which is easier to say that do, because the number of dependencies involved) and expect to get the exception. (In the original cloud service app there are people working from China, Brazil, USA, France, so make changes to this one is kind of play to be God… ))

Fortunately, in this new environment we also find the exception. And this is the correct moment to Thank to the MICROSOFT’s AZURE Team for the 2nd option in the image below :

image

So, we connected in debug mode to a running instance of a website in a Cloud Service App from Azure! This feature was announced some time ago, and this is the type of news that you don’t this are much important until you need them. (Note: Gisela write an amazing article about this, you can read this here)

So after a while diving in the code we get to the exception

{“Could not load file or assembly ‘ Microsoft.WindowsAzure.ServiceRuntime, Version = 2. 3. 0. 0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35′ or one of its dependencies.”} {The system cannot find the file specified. “:” Microsoft.WindowsAzure.ServiceRuntime, Version = 2. 3. 0. 0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35″}

It was a bucket of cold water, since the way we work with AZURE  model had not changed in quite some time. After researching and found some people with similar problems (1, 2, 3, and 4), we arrived at a solution that still not convinced me at all.

  • Update all projects that use NuGet pkgs from Azure to latest version. This is consistent and is part of we do in each SDK Update.
  • Modify the Dll References property “Copy Local = True”, to include them in the deploy package. In this case the dlls were: Microsoft.WindowsAzure.Configuration, Microsoft.WindowsAzure.Diagnostics, Microsoft.WindowsAzure.Storage and… Microsoft.WindowsAzure.ServiceRuntime. the latter is incredible.
  • Add a redirection of assemblies in the web.config that correct versions are used. Something like

< assemblyIdentity element name = “Microsoft.WindowsAzure.ServiceRuntime” culture = “neutral” publicKeyToken = “31bf3856ad364e35″ / >”
< bindingRedirect oldVersion = “0.0.0.0-2.3.0. 0″ newVersion =” 2.3.0. 0″ / >
< /dependentAssembly >

 

While these steps are consistent, the 2nd where we’ve had to include Microsoft.WindowsAzure.ServiceRuntime with local copy = true, gives me something to think. According to my understanding, a Cloud Service App should include these components Out of the Box.

Well, this solution works and now touch me ask the cracks of Azure: @ibonilm or @quiqu3 that I’ve lost along the way.

PS: on the road I can explain also the following error:

Message = Could not load file or assembly ‘ msshrtmi, Version = 2. 3. 0. 0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35′ or one of its dependencies. The system cannot find the file specified.
Source = Microsoft WindowsAzure. ServiceRuntime
FileName = msshrtmi, Version = 2 3 0. 0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35

This is the perfect excuse for a Beer or Tequila…

Update: Thanks to Gisela (@0Gis0) who helped me with the issue!

Saludos @ La Finca

El Bruno

image image image Google

[#AZURE] Y como el error “Could not load file or assembly ‘Microsoft.WindowsAzure.ServiceRuntime, … “ puede hacer que pierdas noches de descanso

Hola!

Cuando una Cloud Service app que está funcionando desde hace meses deja de funcionar, sin dejar trazas de error. Sabes que es momento de calentar café, porque te esperan noches largas. Más aún si el no funcionamiento es esporádico y reproducirlo no es tarea trivial.

En este caso en particular el error no se trataba como una excepción sino que terminaba perdida como una mala Http Response. Para llegar a esta conclusión, tuve que romper la madre de todas las reglas en un Dev Team:

HE DEPURADO EL ENTORNO DE PRODUCCIÓN (bueno en realidad no es así, pero queda muy bien asustar a más de uno!)

Todavia recuerdo los dolores de cabeza que me daba llegar a un server de producción y ver instaladas herramientas de desarrollo. El caso extremo fue llegar a un cliente y ver que un gestor de transacciones online había dejado de funcionar porque … alguien habia matado la instancia de VisualCafe (todo el JBoss que soportaba el gestor de transacciones estaba siendo ejecutado con un F5 desde VisualCafe, y así duró varios días!).

En nuestro caso, lo extraño es que llegábamos a la 2da frase que más dolores de cabeza nos da a los desarrolladores

EN MI ORDENADOR FUNCIONA !!!

Y así era, en los entornos locales con el emulador de Azure todo funcionaba perfectamente, sin embargo en ejecución aparecían los fantasmas. Aquí había varias opciones, una de ellas involucraba IntelliTrace, la otra era mejor Winking smile 

La solución fue crear una nueva Cloud Service App en Azure, desplegar nuestra solución allí (que es más fácil de decir que de hacer por la cantidad de dependencias que tiene) y esperar que allí también deje de funcionar. (En la original hay trabajando personas de China, Brazil, USA, Francia, etc. meterle mano a esta es jugar a ser Dios …)

Por suerte, en este nuevo entorno de prueba el error se daba también esporádicamente, y en el mismo teníamos mano para AGRADECER A TODO EL EQUIPO DE MICROSOFT DE AZURE POR LA 2DA OPCION EN LA SIGUIENTE IMAGEN:

image

Nos hemos conectado en modo depuración a una instancia en ejecución de un website en una Cloud Service App de Azure !!! Esta feature fue anunciada hace un tiempo, y son del tipo de noticias que las escuchas y que no parecen tan importantes hasta que las necesitas.

Pues bien, después de llegar a la excepción y de un poco de buceo por el código llegamos a la excepción

{“Could not load file or assembly ‘Microsoft.WindowsAzure.ServiceRuntime, Version=2.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35′ or one of its dependencies. The system cannot find the file specified.”:”Microsoft.WindowsAzure.ServiceRuntime, Version=2.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″}

Que era un balde de agua fría, ya que el modelo de trabajo no había cambiado en bastante tiempo. Despues de ver a algunas personas con problemas similares (1, 2, 3, y 4), llegamos a una solución que todavía no me ha convencido del todo.

  • Actualizar todos los proyectos que utilicen NuGet pkgs de Azure a la ultima versión. Esto es coherente y es parte de lo hacemos en cada actualización del SDK.
  • Modificar las Dll References con la propiedad “Copy Local = True”, para que se incluyan las mismas dentro del paquete a desplegar. En este caso las dlls eran: Microsoft.WindowsAzure.Configuration, Microsoft.WindowsAzure.Diagnostics, Microsoft.WindowsAzure.Storage y … Microsoft.WindowsAzure.ServiceRuntime. Lo de esta última es increíble.
  • Agregar en el web.config una redirección de assemblies para que se utilicen las versiones correctas. Algo del tipo

  <assemblyIdentity name=”Microsoft.WindowsAzure.ServiceRuntime” culture=”neutral” publicKeyToken=”31bf3856ad364e35″ />
  <bindingRedirect oldVersion=”0.0.0.0-2.3.0.0″ newVersion=”2.3.0.0″ />
</dependentAssembly>

 

Si bien estos pasos son coherentes, el 2do donde hemos tenido que incluir Microsoft.WindowsAzure.ServiceRuntime con copia local = true, me da que pensar. Según mi entendimiento, una Cloud Service App debería incluir estos componentes Out of the Box.

Pues bien, esta solución funciona y ahora me tocará preguntarle a los cracks de Azure: @ibonilm o @quiqu3 que me he perdido en el camino. 

PD: en el camino me queda explicar también el siguiente error:

Message=Could not load file or assembly ‘msshrtmi, Version=2.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35′ or one of its dependencies. The system cannot find the file specified.
       Source=Microsoft.WindowsAzure.ServiceRuntime
       FileName=msshrtmi, Version=2.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

Este, da para unas cervezas o tequilas …

Update: Gracias Gisela (@0Gis0) que me ha aclarado varias cosas! y ha escrito un excelente post sobre cómo depurar Azure Cloud Service apps desde Visual Studio (link)

Saludos @ Home

El Bruno

image image image Google

[#VS14] Prueba Visual Studio 14 gratis! (en #Azure claro)

Hola!

Hace un par de días, el equipo de Visual Studio anunciaba el primer release de Visual Studio 14 en versión CTP. Ojo!, no tenemos que que confundir a Visual Studio 14 con Visual Studio 2014, que no existe … el “14” es el numero de versión. Por ejemplo, Visual Studio 2013, se corresponde con el número de versión 12.0.NNNNN.NN de acuerdo al update que tengas instalado.

image

En el caso de Visual Studio 14, recomiendan no instalarlo en nuestros equipos de desarrollo, sino más bien utilizar uno de prueba. Hace 2 años, esto significaba, crear una nueva instancia de algún SO con Hyper-V, desplegar el IDE dentro del mismo, probarlo, etc. Hoy todo este proceso se simplifica gracias a AZURE.

Nota: para este paso a paso no utilizaré el nuevo portal de AZURE, iré con el clásico para que no haya problemas.

1. Accedemos a nuestra cuenta de Azure.

Si no tienes cuenta, puedes pedir un trial que también te sirve para esto!

2. Accedemos a la opción “new”

3. Seleccionamos “Compute // Virtual Machine // From Gallery“

image

4. Dentro de la galería de imágenes diponibles, seleccionamos “Microsoft // Visual Studio // Visual Studio Professional 14 CTP”

image

5. Listo!

Y en pocos segundos ya podremos probar todo lo nuevo del nuevo IDE para Visual Studio 14!

Por cierto, sé que es tentador pero por favor revisad vuestro plan de pagos antes de elegir la siguiente configuración Winking smile

image

Fuente: http://blogs.msdn.com/b/somasegar/archive/2014/06/03/first-preview-of-visual-studio-quot-14-quot-available-now.aspx

Saludos @ Home

El Bruno

image image image Google

[#VSONLINE] Visual Studio Online and Active Directory = true!

Hello!

Sometimes we have to wait until the public announcements so we can give good news, this is kind of a Zen exercise, good patience. Here it is:

The integration between Visual Studio Online and AZURE Active Directories are now available!

Kudos to the team of Visual Studio Online !!!; this is very important for organizations that manage the security seriously.

Now let’s read some small letter about this.

  • This is only available for Azure Active Directory, this means a good work for you and your team if you’re thinking in this with AD On Premises.
  • VSO and AAD, this is a veryyyyy big problem with existing accounts cannot be connected. However, apart from the technical part it is underway in an elegant solution to this matter.

And finally, the great Brian Harry said that in addition to all of this work is creating a special section to explain all types and scenarios. The theme of identity and authentication is quite complex and describe the capabilities supported in this scenario is not trivial. I hope to make this link available soon in order to understand it a little better!

Source: http://blogs.msdn.com/b/bharry/archive/2014/05/21/visual-studio-online-update-may-20th.aspx?utm_content=bufferda790&utm_medium=social&utm_source=facebook.com&utm_campaign=buffer 

Saludos @ Home

El Bruno

image image image Google

[#VSONLINE] Visual Studio Online y Active Directory = true !!

Hola!

Esto de tener que esperar los anuncios públicos para poder dar buenas noticias es un ejercicio de paciencia ZEN de los buenos. Sin embargo aquí está:

La integración entre AZURE Active Directories y Visual Studio Online ya está disponible !!!

Kudos para el equipo de Visual Studio Online, esto es muy pero muy importante para organizaciones que manejan la seguridad de una forma estricta.

Ahora leamos la letra pequeña que siempre es importante.

  • Esto está solo disponible para Azure AD, esto significa un buen libro de trabajo para AD On Premises.
  • No se pueden conectar cuentas existentes de VSO con AAD, esto es un graannnn problema. Sin embargo, más allá de la parte técnica ya se está trabajando en una solución elegante al respecto.

Y por último, el gran Brian Harry comenta que además de todo este trabajo se está creando un apartado especial para explicar todos los tipos y posibles escenarios. El tema de identidades y autenticación es bastante complejo y describir las capacidades soportadas en este escenario no es trivial. Espero que ese link esté disponible pronto para poder entenderlo un poco mejor!

 

Fuente: http://blogs.msdn.com/b/bharry/archive/2014/05/21/visual-studio-online-update-may-20th.aspx?utm_content=bufferda790&utm_medium=social&utm_source=facebook.com&utm_campaign=buffer

Saludos @ Home

El Bruno

image image image Google

[#BOOK] Mi libro sobre Visual Studio 2013, Azure y ALM gratis por solo un día!

Hola!

pues eso, que solo por hoy puedes descargar un PDF con mi libro sobre Visual Studio 2013, AZURE, UNITY3D y ALM desde aquí.

Y como soy un fan muy fan de ReSharper, pues también te recomiendo “Clippy for R#”, lo mejor que he visto durante el día de hoy Open-mouthed smile

Saludos @ T4

/El Bruno

PD: sabes qué día es hoy?

[#VSONLINE] HowTo: Configure an Online subscription and manage accounts

image

Hello!

today I write about the management of accounts assigned to an Visual Studio Online account. All this environment relays on an Azure account, so you have to go to the Azure portal to start the process.

The creation of an VSOnline is part of the Azure creation wizard, and simply defining the associated prefix to. visualstudio.com, can reserve your ‘domain’.

image

Once created you’ll see the fabulous Welcome that all is ready! with the most interesting and important links

image

In the account mode, that you probably already from Visual Studio online, you’ll see a couple of interesting stuff; like the option “Scale Users and resources”, where you can manage accounts for his subscription.

image

If you return to the site of our subscription, you will get the option to create your first project.

image

At this time you can also access to the Users section, that’s the main stuff for this post. In this section you can add the different accounts that will work on this instance of VSOnline. In the image below, I’ve added my MSN account and the account of the Valentino. In my account I have marked it as an account associated with a MSDN subscription, this type of accounts are validated the first time they login into the site.

image

Once I performed the first login, I can see that it has been validated as a valid MSDN account. And I have

  • 2 FREE accounts
  • 1 has MSDN

So right now I can add 3 free accounts over to my subscription

image

At the end, you have to be careful because right now you probably have something similar to the following picture; and in 90 days… you’ll have to pay.

  • 25-user mode Early Adopter
  • 28 of MSDN, MSDN Premium, MSDN Pro and MSDN Ultimate mixed

image

Greetings @ Home

El Bruno

imageimageimageGoogle

[#VSONLINE] HowTo: crear una suscripcion y agregar cuentas

image

Hola!

hoy mostraré como asociar diferentes tipos de cuentas a una instancia de Visual Studio Online. Como comenté ayer estas cuentan dependen de una cuenta de Azure, con lo que debemos entrar al portal de Azure para crear la misma.

La creación se hace con el wizard de Azure y simplemente definiendo el prefijo asociado a .visualstudio.com, podremos reservar nuestro “dominio”.

image

Una vez creado el mismo veremos el fabuloso Welcome que todo está ready! con los links más interesantes e importantes

image

El modo account, es el que ya conocemos de Visual Studio Online, en este punto lo interesante es la opción “Scale Users and resources”. Donde podemos gestionar las cuentas que pueden usar nuestra suscripción.

image

Si volvemos al site de nuestra suscripción, la primera vez que accedemos a la misma, nos ofrecerá la opción para el primer projecto.

image

En este momento también podemos acceder a la seccion Users. En la misma podremos agregar las diferentes cuentas con las que trabajaremos en esta instancia de VSOnline. En la siguiente imagen, he agregamos mi cuenta de MSN y la cuenta del Valentino. A mi cuenta la he marcado como una cuenta asociada con una suscripción MSDN, y se validará en el primer login al site.

image

Una vez que he accedido al site, ya puedo ver que la misma se ha validado como una cuenta de MSDN válida. Y que tengo

  • 2 cuentas FREE
  • 1 cuenta MSDN

con lo que todavía podría agregar 3 cuentas gratis más a mi suscripción

image

Al final, en una cuenta seria hay que tener cuidado porque puedes tener algo similar a lo siguiente y en 90 días … pues te llevarás una sorpresa.

  • 25 usuarios en modo Early Adopter
  • 28 de MSDN, mezclados entre MSDN Premium, MSDN Pro y MSDN Ultimate

image

 

 

Saludos @ Home

El Bruno

image image image Google