jueves, 26 de junio de 2008

Audio de un correo de Bill Gates

Creo que muchos estamos nostálgicos porque Bill Gates ya no esta propiamente a la cabeza de Microsoft, por ello algunos han estado recordando mensajes que el ha dicho y este audio no es la excepción.

Es algo que podemos catalogar como Tragicomedia o Ironico-Comico y porque no si todos en la vida, especialmente los guatemaltecos hacemos chistes de las tragedias.  Este audio en idioma inglés es una lectura de un correo que envió Bill Gates a su gente luego de intentar hacer un download de Movie Maker, que fue enviado en enero del 2003.  Escuchar en la voz del locutor el mensaje de Bill Gates, suena divertido y nos recuerda que hasta los grandes sufren de las mismas vicisitudes que nosotros y que definitivamente con que razón los productos de Microsoft son ahora lo que son; productos mas estables.

Que lo disfruten:

http://blog.seattlepi.nwsource.com/microsoft/archives/142032.asp

Code4Fun,

 

Manolo

miércoles, 25 de junio de 2008

Charla sobe Unity 1.1 sobre VSTO 2008

Hoy 25 de Junio del 2008,  estaré compartiendo con los miembros de la comunidad de desarrolladores .NET en Guatemala, sobre el proyecto Unity  en su versión 1.1 corriendo sobre la nueva versión del IDE de desarrollo de la plataforma .NET Visual Studio 2008.  

El desarrollo por componentes en el pasado era una utopía para muchos pero hoy en día gracias a los Contenedores IoC como Unity nos permiten de forma muy sencilla desarrollar nuestra aplicaciones con un diseño desacoplado, pro-testing, orientado a servicios y componentes, que maximizan la reusabilidad de nuestro código y adaptabilidad y fácil manteamiento a nuestro código.

La charla del día de hoy no es  para expertos solamente sino para todo desarrollador en esta plataforma .NET que enfrenta día a día, el reto de mantener el código ya existente y corrigiendo "Bugs" por todos lados por falta de un diseño desacoplado y poco adaptable.

Además estaremos de promoción por el lanzamiento de los productos 2008 (Windows Server, SQL Server y Visual Studio).  Por lo que estaremos rifando y entregando premios a los asistentes.  Así que no faltes y unete a la familia de desarrolladores .NET en Guatemala.

Y recuerda Code4Fun,

 

Manolo Herrera

miércoles, 4 de junio de 2008

Buscando Formas de depurar remotamente

Un claro ejemplo de esta dificultad la tenemos en Sharepoint cuando estamos desarrollndo Web Parts (básicamente es lo que mas se desarrolla y debe de desarrollarse en Sharepoint "Is the way that It is..") si no tenemos acceso o no es conveniente desarrollarlo en el servidor en que esta montado el MOSS 2007 o WSS 3.0 deberemos hacerlo remotamente y esto implica escribir el código del Web Part, compilarlo y hacer el "deployment", publicar en la galería del Web Parts para luego pegarlo a una página, aunque estos últimos dos pasos se hacen una sola vez lo anteriores consumen suficientemente tiempo para iniciar el despliegue de mensajes que nos indiquen la información que estamos desplegando o el error que estamos intentando descubrir.

Aunque parezca sencillo y simple las mejores prácticas de desarrollo estarán siempre para ayudarnos en la plataforma que desarrollemos y una forma efectiva de depurar y encontrar alguna falla en nuestro código es realizar la refactorización o refactoring de nuestro código, una de las reglas dice que demos de crear métodos con nombres que nos indiquen su propósito y que encapsulen precisamente dicha funcionalidad esto hará que como un árbol y sus armas empiece a partirse en pequeñas ramitas o partes nuestro código.

Un ejemplo de esto sería el siguiente:

En el evento load cargo toda la funcionalidad de lo que necesito cargar por ende el error que me despliega el compilador es que en el método load esta el error.. pero ojo es un montón de código que no se para que sirve y que precisamente funciona.

Bueno entonces decido colocar un método que me indica muy generalmente lo que hace el código como "ObtenerYLlenarControles", si hago el deployment de esto el error persistirá pero me indicará que el error ya no esta en load solamente sino que en el Método ObtenerYLlenarControles().

Luego reviso el código y me doy cuenta que esta la parte donde invoco la información de cierto tipo y la guardo en un objeto en memoria entonces decido encapsularlo en un método por ejemplo ObtenerListaDeTareas(). Hagó el deployment y el error me sigue indicando lo anterior y no menciona el método ObtenerListaDeTareas(). Aja! este parte el código que encapsule esta bien el error no se generó allí así que decido continuar revisando mi código y encuentro la parte donde despliego en algun control la información obtenida y decido encapsularlo en un método y le coloco el nombre LlenarControlTareasDelUsuario() y hago el deployment y huala! el error me muestra que el error esta en el método LlenarControlTareasDelUsuario() y si es lo suficientemente pequeño el código fácil de identificar encuentro el problema y lo corrijo sino sigo el proceso de encapsulamiento para reducir el área de falla hasta encontrarlo y por ende solucionarlo.

Al final no solo encontramos el problema y lo solucionamos sino que tenemos un código mas legible y la próxima vez que ocurra un error será más fácil encontrarlo porque tenemos segmentado nuestro código en pequeñas partes que nos permiten identificar rápidamente y claramente lo que hace y donde podría estar la falla de nuestro código.

Recuerda amigo lector Code4Fun!,

Manolo

lunes, 2 de junio de 2008

You do not have permissions to open this file on Excel Services

Amigos una buena referencia para resolver este problema en el siguiente link:

http://www.digwin.com/view/you-do-not-have-permissions-to-open-this-file-on-excel-services

con la única salvedad que le falto indicar un paso al inicio, por lo que les detallo la secuencia de los pasos a seguir:

0. Conectese al servidor donde esta instalado MOSS 2007 (Servidor de Sharepoint) y luego seleccione en el menú Central Administration.

1. In SharePoint Central Administration

1.1. Seleccione la pestaña Application Management

1.2. Luego seleccione la opción Create or Configure this farm's shared services

2. Select your shared service. (Default is SharedServices1)

3. In 'Excel Services Settings' select Edit Excel Services settings.

4. Ensure that File Access method is Process Account. Click OK.

5. Back in 'Excel Services Settings' select 'Trusted File Locations'

6. Add a new Trusted file Location:

> URL: Specigy the report library or the entire portal (sugiero entire portal para que este accesible el servicio en todo el portal)

> Location Type: Windows SharePoint Services

> Children: Trusted

Mis correcciones en itálica.

Code4Fun!, Hasta la próxima!

Manolo