[#RESHARPER] R# SDK como un NuGet Package y plugins de R#

Hola!

Si bien Resharper hace de todo, los amigos de JetBrains nos dan la posibilidad de extenderlo para que complete las pocas cosas que no tiene. Hasta ahora el SDK de ReSharper se distribuía como un MSI, y desde hace 2 días está disponible también como un paquete NuGet.

¿Ventajas? pues las de siempre, no tienes que instalar el software en los servidores de build, lo puedes actualizar automáticamente en las Dev machines, etc.

Si además te interesan las extensiones para ReSharper, éstas son las que utilizo yo (aunque a algunas no las he instalado últimamente)

Agent Muder PlugIn for ReSharper

https://resharper-plugins.jetbrains.com/packages/AgentMulder/

Excelente extensión para averiguar los usages de una clase. Lo interesante es que esta opción resuelve además las referencias que se realizan utilizando inyección de dependencias.

PostFix completion

https://resharper-plugins.jetbrains.com/packages/ReSharper.Postfix/1.0.0

Como dice el titulo, code completion con esteroides. Hay que probarlo para agradecercelo

Fuente: http://blogs.jetbrains.com/dotnet/2013/11/resharper-sdk-now-available-on-nuget/

Saludos @ Barcelona

El Bruno

image image image Google

[#ALM] Sobre los padres, los hijos y los que opinan sin saber

Hola!

cuando te conviertes en padre te cambia un poco la vida. Los horarios se complican, aparecen problemas nuevos y aprendes a ser una persona responsable.

Aclaración: se que algunas personas son responsables antes de ser padres, no es mi caso.

Como es bastante complicado estar preparado para este cambio, por lo general se aprende sobre la marcha. Cada dia es una lección nueva, y así aprendes que no es tan malo que tu hijo coma arena en una plaza o en la playa. Para las madres resulta que es mucho peor que coma las colillas de los cigarrillos directamente del piso, o cosas por el estilo.

Aclaración 2: los padres no juzgamos este tipo de acciones, son cosas que pasan y punto.

Resumiendo, es una tarea difícil, que requiere dedicación 24 horas todos los días de la semana y que creo que la única forma de comprenderla es vivirla día a día. El último punto es importante, TIENES QUE VIVIRLO PARA COMPRENDERLO.

Cuando alguien me dice que piensa que puede ser un buen padre, porque un fin de semana estuvo con sus sobrinos un par de horas en un parque y se lo pasó genial … pues intento no ser muy agresivo a la primera, pero si le dejo caer un “me alegro que te gustado, porque durante el día todos los niños tienen sus ratos buenos y malos”.

Si quieres entrar más en detalle sobre esto, acércate a las 1700 a un parque donde haya niños jugando. Mira con detalle la cara de las madres y verás cuáles tienen ayuda y cuáles son mamis 24×7. En un buen día, las últimas tendran caras de cansadas, estarán un poco irascibles y te parecerá que son un poco bordes (o con mala leche). Lo que seguramente no sabes, es que hace 13 horas que su único trabajo es ayudar a que sus niños crezcan bien, eso significa jugar, cocinar, jugar, educar, regañar, lavar, etc.

Después de ver esto (recuerda que para un buen consultor informático leer las actitudes de las personas o, como dicen aquí, leer entre líneas; es muy importante), piensa si realmente es posible comparar cuidar a unos niños en un ambiente festivo, con la tarea de ser padre.

Lo mismo aplica en los proyectos de software, muchas veces durante momentos duros de un proyecto; voces externas llegan con frases como:

  • Uyyyy, yo en tu lugar hubiese hecho …
  • Que mal, lo mejor sería que …
  • Claro es normal que esto esté así si no has …

Seguro que todos hemos escuchado algo así. Les dejo mi opinión al respecto de cada uno.

  • Uyyyy, yo en tu lugar hubiese hecho …

Este tipo de personas es simplemente para matarlos. Hablar sobre los errores del pasado es muy fácil, pero suele aportar CERO a la situación actual. El gran Dr House, solía decir que es mucho más fácil hacer una autopsia para ver que mató a una persona; que diagnosticar una enfermedad para evitar que la misma se muera.

  • Que mal, lo mejor sería que …

Aquí vamos mejorando, sin embargo empezar una frase con un “Que mal …”, hace que automáticamente ya no escuches lo que sigue a continuación. Lo normal es que pienses en desarrollar una especie de superpoder con la que puedas infligir DOLOR de forma remota sin tocar a una persona.

Y podría seguir un rato con las opiniones de gente que no sabe. Las mismas son nocivas, y si estamos dirigiendo un proyecto nos pueden tirar abajo la moral de un equipo; lo mejor suele ser ignorarlas y si no queda otra opción escucharlas y ver si en el fondo hay algo de sabiduría en las mismas …

Aunque, tanto en el caso de los que hablan sobre ser padres sin serlos; como en el caso de los que hablan sobre gestión de proyectos sin gestionar; en ambos casos … pues paciencia.

Saludos @ Home

El Bruno

image image image Google

[#PERSONAL] Casi, casi un Out of Office

Hola!

Los Out of Office son buenísimos, personalmente prefiero usar alguno de estos

  • You are receiving this automatic notification because I am out of the office. If I was in, chances are you wouldn’t have received anything at all.
  • Sorry to have missed you, but I am at the doctor’s having my brain removed so I can be promoted to our management team.
  • I will be unable to delete all the unread, worthless emails you send me until I return from vacation on 4/8. Please be patient, and your mail will be deleted in the order it was received.

Yo he estado un poco out del blog, pero mis excusas son las siguientes

image

image

claro, todo para poder replicar esto >>

El Brunos Head

Saludos @ Barcelona

El Bruno

image image image Google

[#VS2013] #VSAnywhere + #GitHub = cool !!!

image

Hola.

Jesus, Roberto y Luis son unos cracks (en orden alfabético y seguro que me olvido de los que no conozco). Después de probar y recomendar mucho a VsAnywhere, veo que la new feature que han agregado es simplemente genial: Social Coding con VSAnywhere.

El nombre llama la atención, aunque la traducción del mismo es “integracion con GitHub”. Desde el propio panel de VSAnywhere, es posible “ver” otras personas conectadas a un proyecto de GitHub y … comenzar a colaborar con VsAnywhere.

image

Es realmente genial, y un video dice mucho más que este post > https://vsanywhere.com/landing_social.aspx

 

Saludos @ Home

El Bruno

image image image Google

[#VS2013] HowTo: Usar #BingMaps para #Win8 apps con Visual Studio 2013 (sin tener que utilizar VS2012)

image

Hola,

hace un par de días escribí sobre lo complicado que es trabajar en Visual Studio 2013 con proyectos de Windows 8 Store apps. Con casos como el de Bing Maps, esto se complica más aún.

Ahora bien, si bien sigo necesitando un laptop con VS2012 para crear el proyecto para Windows 8, luego ya puedo trabajar en un environment sin VS2012. En el caso de Bing Maps, para que el IDE no pida el acceso a estas dlls, lo que puedes hacer es lo siiguiente:

1. En un ordenador con VS2012 y BingMaps SDK instalado, accede al directorio

C:Users<user>AppDataLocalMicrosoft SDKsWindowsv8.0ExtensionSDKs

2. Dentro del mismo localiza el directorio de BingMaps

C:Users<user>AppDataLocalMicrosoft SDKsWindowsv8.0ExtensionSDKsBing.Maps.Xaml1.113.0601.2

3. Copia este directorio al entorno donde SOLO TIENES VS2013

4. Listo!

A partir de este momento tu VS2013 no mostrará mensajes extraños de compilación.

Obviamente esto es útil no solo para Bing Maps sino también para todas las demás extensiones para Win8

 

Saludos @ Home

El Bruno

image image image Google

[#VS2013] HowTo: cambiar las settings de Remote Debugging en proyectos #Windows8

image

Hola.

La opción de depuración remota en Windows 8 es bastante útil. Sin embargo, cambiar la configuración inicial es un poco complicado, y no muy intuitivo. Veamos un ejemplo, cuando cambias el modo de depuración de un proyecto a “Remote Debugging”, te aparece el siguiente formulario

image

En esta vista podemos definir manualmente una IP para conectarnos a un ordenador remoto, o ver la lista de remote debuggers disponible. Como en mi caso, no poseo la capacidad de trabajar con autenticacion Windows (thanks WinRT), he modificado la configuración del host remoto para que acepte TODAS LAS LLAMADAS INCLUSIVE LAS LLAMADAS ANÖNIMAS

image

Nota: esto es altamente no recomendable, pero yo vivo al límite.

Para este ejemplo yo utilizaré una IP de mi subnet: 10.33.178.59. Una vez definida la misma, ya podemos cerrar la configuración del Remote Debugging.

image

Ahora bien, si en algún momento quieres cambiar esta configuración, pues la opción es parte de las propiedades del proyecto. En la sección Debug, ahi está todo lo necesario para cambiarla.

image

Y listo, otro post en modo de BackUp que sino dentro de 6 meses cuando tenga que hacerlo de nuevo, seguro que no me acuerdo Open-mouthed smile

 

Saludos @ La Finca

El Bruno

image image image Google

[#ICAL] HowTo: Crear un archivo ics

Hola!

Hace 2 días tuve la buenaventurada idea de crear un archivo ICS como parte de una app C#. Lo extraño es que cuando buscas en internet, lo primero que vi son ejemplos utilizando automation de Oulook. Esto ya de por sí da miedo, porque además de tener un modelo de seguridad muy restringido, utilizar Office Automation en un server es cosa de suicidas.

Pues bíen, me fui a las fuentes y encontré la definición de Internet Calendar, además de un ejemplo en texto plano como el siguiente:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:uid1@example.com
DTSTAMP:19970714T170000Z
ORGANIZER;CN=John Doe:MAILTO:john.doe@example.com
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR

Si creas un archivo en blanco con extensión ICS, lo editas con un editor de texto y pegas este contenido dentro del mismo, … pues ya estás más cerca. Lo que hice fue una pequeña rutina en C# que me genera el contenido del ICS:

   1: private const string DateFormat = "yyyyMMddTHHmmssZ";

   2:  

   3: public string GenerateIcsContent(DateTime dateStart, 

   4:               DateTime dateEnd, string email, string location, 

   5:               string summary, string description)

   6:         {

   7:             var s = dateStart.ToUniversalTime().ToString(DateFormat);

   8:             var e = dateEnd.ToUniversalTime().ToString(DateFormat);

   9:             var iCal = string.Format(@"BEGIN:VCALENDAR

  10: VERSION:2.0

  11: METHOD:PUBLISH

  12: BEGIN:VEVENT

  13: ORGANIZER:MAILTO:{0}

  14: DTSTART:{1}

  15: DTEND:{2}

  16: LOCATION:{3}

  17: UID:{4}

  18: DTSTAMP:{4}

  19: SUMMARY:{5}

  20: DESCRIPTION:{6}

  21: PRIORITY:5

  22: CLASS:PUBLIC

  23: END:VEVENT

  24: END:VCALENDAR", email, s, e, location, 

  25:                 DateTime.Now.ToUniversalTime().ToString(DateFormat), 

  26:                 summary, description);

  27:             return iCal;

  28:         }

luego lo grabo con extensión ICS y iisto !!!

Wikipedia: http://en.wikipedia.org/wiki/ICalendar

Saludos @ Home

El Bruno

image image image Google

[#VS2013] Team Rooms en el IDE

image

Hola,

hace un tiempo escribí un poco sobre las Team Rooms, una excelente funcionalidad de Team Foundation Server 2013 que está disponible desde el WebAccess. El amigo MVP Tarun Arora (también compañero de Avanade) ha creado un AddIn para Visual Studio que permite acceder a Team Rooms directamente desde el IDE de VS2013.

Como siempre, un video es la mejor forma de explicarlo:

Download: http://visualstudiogallery.msdn.microsoft.com/c1bf5e4f-5436-465d-87da-09b2f15ff061

Saludos @ La Finca

El Bruno

image image image Google

[#HUMOR] HowTo: upgrade de Surface a Surface 2 (the easy way and always with #LEGO)

Hola!

una de las novedades más interesantes de la surface 2, es las diferentes posiciones que tiene la pata de cabra (kickstand) (link). Esto permite tener diferentes posiciones de uso, cosa que con el modelo “viejo” no era posible.

Bueno lo de no era posible, era si no tienes un niño de 5 años, mucha imaginación y muchas piezas de Lego en invierno. Es más, en lugar de 2 posiciones, ahora tenemos 3 !!!

image

 

Saludos @ Home

El Bruno

image image image Google