#VS2015 – Sugerencias para cambiar a modo Presentación en eventos de forma fácil

Hola!

Windows 10 y Visual Studio 2015 ya están aquí de forma oficial. Ayer estuve en Málaga compartiendo mi año de experiencias con Windows 10 y Visual Studio 2015. Como siempre antes de empezar las sesiones, hice el checkpoint usual y como alguien me preguntó al respecto, aquí dejo mi ABC.

Verificar el entorno de proyección y el Audio

– Por ejemplo, una proyección en 16:9 con 1920×1080 queda muy bien en una TV HD pero es imposible de ver en una sala grande

– Si proyectarás videos con audio, una prueba de sonido es muy importante. Una TV con conexión HDMI te garantiza salida de audio aunque debes estar seguro que tu ordenador toma la misma como la salida de audio por defecto

Modificar el modo presentación de PowerPoint

– Por lo general yo duplico mi monitor. Esto lo hago para poder cambiar fácilmente a un modo “source code” y poder programar mirando mi laptop. Cuando activas el modo Presenter View en PowerPoint, te suele desajustar las resoluciones con las que proyectas. Es por esto, que selecciono las opciones

o Monitor: Primary Monitor

o Disable Presenter View

Revisar el aspecto de Visual Studio

– El tamaño de la fuente del Source Code es importante, muy importante en Visual Studio. Mi recomendación es ver el nivel de zoom que es necesario en un panel de código y dejar el mismo. VS2015 por defecto utilizará ese nivel de zoom en todas las ventanas abiertas.

– Si estas mostrando código, lo más probable es que no necesites mostrar paneles como el Error Log, Output, etc. Con VS2015 podemos crear un Window Layout y mostrar / ocultar estos paneles cuando cambiamos a modo presentación.

– Como se puede ver en la imagen anterior, soy muy amigo del WordWrap. Eso de tener una línea de código muy larga que no se puede leer, salvo que se use el scroll horizontal, es bueno para trabajar en casa aunque no tanto en modo presentación. La solución está en las opciones de Visual Studio, en “Text Editor // All Languages” habilitando el WordWrap y opcionalmente la posibilidad de mostrar los glyphs

Por ahora, dejo estos quick tips y seguramente los actualizaré / completaré en el futuro.

References

– El Bruno, Cambiar el IDE de acuerdo al equipo donde trabajes; https://elbruno.com/2014/12/09/vs2015-howto-cambiar-el-ide-de-acuerdo-al-equipo-donde-trabajes/

Saludos @ Madrid

/El Bruno

#VS2015 – Debug #lambda expressions

Hola!

In yesterday’s post I wrote about the debugging Features for LINQ available in Visual Studio 2013 and 2015. In Visual Studio 2015 there is also a new feature for debug Lambda expressions which is very useful. This feature was requested by the community with almost 10K votes (link) and is finally included in Visual Studio 2015 RTM

Important: If you plan to listen to your users, this is how it must be done. Thanks Product Team !!!

So, if we pick up yesterday sample; after the creation of a name string array, we can pause the debugger and analize the content of the array in a declarative way in the Watch panel. We also have access to Intellisense and other online features

And, the really cool stuff is to write and run our own Lambda expressions in the Watch Window. Let’s find names with Length bigger than 5 chars.

Cool !!! now we can have some more fun in our debugging sessions 😉

References

– MSDN LINQ, https://msdn.microsoft.com/es-es/library/bb397926.aspx

– MSDN Lambda Expressions, https://msdn.microsoft.com/en-us/library/bb397687.aspx

– User Voice, Debugging Lambda Expressions, http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2049821-debug-lambda-expressions-planned

Saludos @ Airplace

/El Bruno

#VS2015 – Depurar sentencias #lambda

Hola!

En el post de ayer comentaba lo útil que es la capacidad de depurar sentencias LINQ con Visual Studio 2015 y 2013. Una de las novedades que incluye Visual Studio 2015 es la capacidad de depurar sentencias Lambda. Esta petición de la comunidad (link) casi alcanza los 10000 votos y se ha incorporado en Visual Studio 2015.

Importante: Esto es un ejemplo clarísimo de escuchar a la comunidad.

Siguiendo con el ejemplo de ayer, luego de declarar un array de elementos, podemos detener el depurador y analizar el contenido del array de una forma muy declarativa en la ventana de Watch. Es intersante ver que también tenemos Intellisense y otras ayudas online

Ahora bien, lo realmente interesante es aplicar una expresión lambda en modo depuración. En este ejemplo, filtremos los nombres que tengan más de 5 caracteres.

Cool !!! nuestras sesiones de depuración ahora pueden ser mucho más divertidas 😉

References

– MSDN LINQ, https://msdn.microsoft.com/es-es/library/bb397926.aspx

– MSDN Lambda Expressions, https://msdn.microsoft.com/en-us/library/bb397687.aspx

– User Voice, Debugging Lambda Expressions, http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2049821-debug-lambda-expressions-planned

Saludos @ Airplace

/El Bruno

#VS2015 – Debugging #LINQ sentences

Hola!

If you use ReSharper, you probably note the suggestion you get to convert your ForEach() sentences into LINQ ones. I’m not going to get into details about performance into this options, the focus of this post is on the “clean code”. I mean, how easy is to read this code. Most of the time, LINQ sentences are a very good idea, and they are very straight forward to read and understand, however there are some evil in this world, and some people creates LINQ sentences who are as complicated as a complicated Regular Expression.

So let’s start with a simple simple, (with a very ugly piece of code)

When we translate this ForEach into LINQ, we can get something similar to this one

And, this are very simple lines to understand. But when you get to a point where you don’t understand a developer LINQ sentence, you can debug the LINQ sentence. This feature is available in Visual Studio 2015 (and in VS2013 also), and you can see line by line the execution of the LINQ sentence. In the following sample, we can see the step by step debugging and also the inline values of the debugged sentences in each step.

CAUTION: if you get to a point where you need to debug some code for sure YOU NEED MORE AUTOMATED TESTS in this code.

References

– MSDN for each, https://msdn.microsoft.com/es-es/library/ttw7t8t6.aspx?f=255&MSPPError=-2147217396

– MSDN LINQ, https://msdn.microsoft.com/es-es/library/bb397926.aspx

Saludos @ AVE to Málaga

/El Bruno

#VS2015 – Depurar sentencias LINQ

Hola!

Cuando usas mucho ReSharper, una de las opciones que te propone el mismo es convertir muchas sentencias ForEach() en sentencias LINQ. No voy a comentar si esta opción es mejor o peor a nivel rendimiento de una app. En este post tomaré como referencia la simplicidad de código, dicho de otra manera, la importancia de la estructura del código. La verdad es que por lo general usar sentencias LINQ es una buena idea y es bastante fácil de entender o seguir. Sin embargo existen también algunos ejemplos de LINQ que compiten codo a codo con el peor de los ejemplos de una expresión regular.

Veamos un ejemplo simple (que es una aberración de código)

Una vez “traducido” a LINQ el mismo podría quedar de la siguiente forma

Si bien este par de líneas son bastante simples, hay casos donde comprender lo que “quiere” hacer un developer con una sentencia LINQ puede ser complicado. Por suerte, Visual Studio 2015 (y desde 2013 creo), nos permite depurar línea a línea lo que sucede dentro de una sentencia LINQ. Veamos el siguiente ejemplo, donde además de ver el paso a paso, podemos ver como en el inline vemos los valores de las variables que participan en la depuración.

Aunque cuidado, si llegas al punto donde debes depurar código para entenderlo, seguramente TE ESTAN FALTANDO UN PAR DE TESTS AUTOMATIZADOS en el mismo.

References

– MSDN for each, https://msdn.microsoft.com/es-es/library/ttw7t8t6.aspx?f=255&MSPPError=-2147217396

– MSDN LINQ, https://msdn.microsoft.com/es-es/library/bb397926.aspx

Saludos @ Airplace

/El Bruno

#EVENT- Materials used in Windows 10 Developer Readiness by MVPs #IoT #MVPbuzz #webcast

Hola!

I’ve just updated to Windows 10 RTM today, so there is no better time to share the source code, video and slides I used a couple of weeks ago in the webcast for Channel 9 “Windows 10 for developers”. I was talking about Internet of Things and Windows 10.

You can access the webcast in Channel 9 https://channel9.msdn.com/Events/MVP-Virtual-Conference/Windows-10-Developer-Readiness-Powered-by-MVPs/Spain; my IoT speech starts at 01:55:00 aprox.

You can also take a look at my slides in

Finally, the source code of the demos is available in GitHub https://github.com/elbruno/events/tree/master/2015%2006%2011%20Windows%2010%20Developer%20Readiness%20by%20MVPs/WuaRpi01

Tomorrow some more Windows 10 with TLP-Innova friends 😉

Saludos @ Tenerife

/El Bruno

#EVENT- Materiales del #webcast Windows 10 Developer Readiness by MVPs #IoT #MVPbuzz

Hola!

Hoy he actualizado a la version RTM de Windows 10 y que mejor momento que este para compartir los materiales que usamos en el webcast de presentacion de capacidades de Windows 10 para desarrolladores. En mi caso, me hice cargo de la sección de Internet of Things.

El webcast se puede ver en este link https://channel9.msdn.com/Events/MVP-Virtual-Conference/Windows-10-Developer-Readiness-Powered-by-MVPs/Spain; la parte de IoT comienza a partir de 01:55:00.

Se pueden ver mis slides en

Y el código Fuente de las demos de la session está disponible en GitHub en https://github.com/elbruno/events/tree/master/2015%2006%2011%20Windows%2010%20Developer%20Readiness%20by%20MVPs/WuaRpi01

Mañana un poco más de Windows 10 con los amigos de TLP-Innova 😉

Saludos @ Tenerife

/El Bruno

#VS2015- New features for Error List Panel: Filters and Online Help

Hola!

I’ve been using Visual Studio 2015 as my main IDE since a while. One the things I really like about this, is I find really cool stuff almost every day. A couple of weeks ago I was in Andorra and I was sharing one of this new features with my geek friends: New features for Error List Panel: Filters and Online Help

If you worked with my, you probably know I’m not a big fan of the Error List Panel. I always recommend to read the Output Log information instead the Error List information. That’s mainly because if you are focused on one project, the Error List panel display all the build errors and is sometimes kind of a mess. That’s why, use the Output Log.

Now with Visual Studio 2015 we have a new feature: Error Filter which display build errors on

– Entire Solution

– Current Project

– Current Document

– Open Documents

Also there is a filter for build errors, Intellisense errors or both. And if the error has a public reference on MSDN, there is a link to Access to the online help.

A 10 seconds video is the best Presentation for this.

And remember, in 7 days we’ll finally get the Visual Studio 2015 RTM version 😀

References

– Visual Studio 2015, https://elbruno.com/tag/visual-studio-2015/

– Visual Studio 2015 Release Date, https://elbruno.com/2015/06/29/vs2015-final-release-date-july-20th/

Saludos @ Madrid

/El Bruno

[#VS2013] Project Rename Tool !!! Shut up and take my money !!! ^_^

Hola!

Mientras estoy en Roma por unos días, un post rápido que se explica con un video. Una excelente extensión que nos permite renombrar projectos, renombrando además los directorios de los mismo, actualizando la solución, etc.

Vs2013RenameProject

Saludos @ Rome

/El Bruno

Download: https://visualstudiogallery.msdn.microsoft.com/a76bd66e-d021-45fe-952a-c393e81912ca

[#GALILEO] Launching apps in the device with #Telnet and analyzing the #debug in the command promt

Hello!

Let’s move on with the Intel Galileo series of posts:

When we created the app “Hello World” in the previous post, Visual Studio deploy and launch the app when we use the debug mode. To launch the app without Visual Studio, you can use Telnet (seen in post 4) with the following steps

1 open a console of commands in administrator mode

2 launch the command

Telnet < name or IP of the device >

3 insert the username and password that we use when we create the SD (post 3)

4. by default the apps that we created in visual studio are deployed to the directory [c:\test], so we must navigate to it to find our app

Clipboard01

5. we launched the app

Clipboard01

6. If we remember a little code example, in it we changed the LED ON and OFF state. In every change we also used the Log() statement to send debug information.

Clipboard02

In Visual Studio this information is in the Output panel, and if we launch the app from the telnet console you should see it in the console. As always a video is better than all this post

Greetings @ Home

/El Bruno