MSDN Blogs
  • WarNov Developer Evangelist

    Llenar celdas vacías en Excel con 0

    • 5 Comments

    Nosotros developers en determinado momento tenemos que lidiar con hojas de calculo. Aquí un pequeño tip que nos puede ayudar mucho.
    Como llenar un conjunto disperso de celdas vacías con un valor o formula dado? Por ejemplo con ceros?
    En este video se muestra de una manera muy rápida.
    Enjoy!

     



  • WarNov Developer Evangelist

    Windows Azure: Compilado de Recursos

    • 3 Comments

    A continuación les presento un conjunto de recursos acerca de Windows Azure que aplica sobretodo a la audiencia hispana.

    La primera, es una presentación de PowerPoint que da un recorrido global sobre la plataforma. El segundo recurso precisamente es un video donde hago la presentación de estos slides, de tal manera que les permitirá tener un mayor sentido de la presentación.

    El tercer punto presenta todos los artículos de este blog, relacionados con Windows Azure, desde el último hasta el primero. En general es buena idea que si están comenzando con esta plataforma, comiencen a leer desde el primero, ya que progresivamente va subiendo el nivel técnico de estos artículos.image

     

     

    Herramientas

    1. Cliente WPF para Administración de Blob Storage
    2. Windows Azure Service Management CmdLets
    3. Explorador de Tablas Azure Online
    4. Sitio de cmdlets de Azure para PowerShell

    Para finalizar, si tienen preguntas acerca de Windows Azure, tras algún evento, este es el post en el que en los comentarios las pueden anotar, y con mucho gusto trataré de resolverlas!

    Gracias por Asistir!

  • WarNov Developer Evangelist

    WebMatrix: Fast & Free Web Development

    • 9 Comments

     

    Update: Hoy 6 de Octubre salió al aire el Beta 2 de WebMatrix.  Se espera la versión final para fin de año. En conmemoración les comparto un libro que se está editando y nos enseña la sintaxis Razor, y además la presentación que uso cuando muestro este producto.

    Visual Studio .NET es la herramienta mas poderosa para desarrollar virtualmente cualquier tipo de aplicaciones para computadores.
    Pero cuando somos novatos en la programación, entrar a un Visual Studio a desarrollar se siente como meterse a la cabina de un Airbus A380 a pilotearlo…

    Para aprender a pilotear, sería mejor en un Cessna que tiene solo los controles básicos y nos permite ir aprendiendo sin abrumarnos con tantos controles.

    Hoy en día Microsoft tiene para nosotros un conjunto de herramientas GRATUITAS que nos permiten entrar al mundo de desarrollo Web de una manera bastante sencilla y rápida.

    WebMatrix

    Contiene todo lo necesario para desarrollar aplicaciones web:

    •Free

    •Liviano

    •IIS Developer Express como Servidor Web

    •ASP.NET como framework tecnológico ahora presentando a RAZOR: una sintaxis para programar de una manera más sencila

    •SQL Server® Compact como motor de base de datos

    •IDE para edición de páginas web.

    A continuación para mostrar la agilidad de la herramienta, les muestro un video en el cual construyo una aplicación que accede a Twitter y nos muestra el feed de una persona en particular. Más adelante vendrán más posts mostrando más características de WebMatrix.

    Update: Hoy 6 de Octubre salió al aire el Beta 2 de WebMatrix.  Se espera la versión final para fin de año. En conmemoración les comparto un libro que se está editando y nos enseña la sintaxis Razor, y además la presentación que uso cuando muestro este producto:

     

    Para aprender más de WebMatrix no se pierda nuestro Web Camp Colombia 2010.

  • WarNov Developer Evangelist

    Beneficios de Windows Azure para MSDN y Bizspark

    • 12 Comments

    Los suscriptores Premium, Ultimate y Bizspark de MSDN tienen 16 meses de suscripción gratuita a los servicios de Windows Azure. A partir de noviembre los suscriptores MSDN Professional también la tendrán.

    Qué se debe hacer? para activar este beneficio?

    Si usted es suscriptor a MSDN y aún no ha comenzado a disfrutar de este beneficio visite este sitio para conocer todos los detalles.

    image

    A continuación una guía detallada de cómo acceder a estos servicios:

    Podemos llegar hasta aquí desde MSDN a través de la suscripción a la que tengamos Acceso:

    image

    Luego de esto pasamos a esta pantalla. Dele un nombre a su futura cuenta de Windows Azure, lea y acepte los términos de servicios si lo desea y de clic en siguiente:

    image

    Después, introducimos nuestra identificación y datos de tarjeta de crédito (con fines de identificación personal, pues esta tarjeta no es cargada si los consumos se ajustan a lo establecido dentro de la oferta. Si los consumos exceden a los límite0s de la oferta, en ese caso sí serán cargados)

     image

    Finalmente, tras la validación de la tarjeta de crédito y nuestra identificación personal, pasamos a la confirmación de la adquisición de los servicios. Leemos el contrato de licencia y su deseamos hacemos la compra:

    image

    Esto nos lleva a la sección de Check Out donde se hace efectiva definitivamente la transacción. Chequeamos la marca en la que confirmamos que sabemos que si excedemos los límites de la oferta, estos serán cargados a la tarjeta de crédito:

    Nos aparece entonces una confirmación como esta. Aquí confirmamos la orden.

    9. En la siguiente pantalla, activamos el servicio:

    Aquí se nos confirman los datos de nuestra suscripción y damos Finalizar:

    Luego recibiremos un mensaje de confirmación similar a este:

    Luego abrimos el portal del desarrollador de Windows Azure (http://windows.azure.com) usando el Live ID empleado para la suscripción y veremos nuestro nuevo proyecto de Azure listo para ser trabajado!

    Otra forma de llegar hasta la suscripción:

    1. Visite el portal de  servicios online de Microsoft (Microsoft Online Services Customer Portal (MOCP)). Cambie el país a Colombia, el idioma a español y haga clic en la opción continuar, para pasar a la página Primeros Pasos:

    .image

    En esta página haga Sign in con su Windows Live ID, y luego haga clic en el tab de Servicios  y allí haga click en Comprar ahora en la sección de ofertas especiales

     image

    image

  • WarNov Developer Evangelist

    Web Camp Colombia 2010

    • 12 Comments

    Las inscripciones para este evento ya están abiertas aquí

    Siento un gran agrado al poder estar organizando el primer evento en Colombia en el que estaremos tratando durante un día completo temas relacionados con desarrollo Web usando estándares y empleando tecnologías y herramientas de Microsoft que lo mejor de todo: SON GRATUITAS

    Los Web Camp son eventos patrocinados por Microsoft que se realizan por todo el mundo y en esta ocasión el turno le ha tocado a Colombia.

    Flair002Flair005

    Es así como el 30 de Noviembre en las instalaciones de Microsoft Bogotá, estaremos llevando a cabo este evento todo el día en en 6 salas distintas simultáneamente, desarrollando un track diferente en cada una de ellas:

    1. WebPI: WebMatrix y CMS Kentico
    2. Windows Azure
    3. IE9 & HTML5
    4. MVC2
    5. REST+JQuery+OData
    6. ASP.NET4

    La parte teórica de los tracks será transmitida gratuitamente vía LiveMeeting a través de 6 hilos de transmisión distintos.

    La jornada que comienza a las 8.30am con el registro y se prolonga hasta las 4pm, se divide en dos grandes etapas: La primera comprende presentaciones teóricas y demos y la segunda comprende laboratorios guiados en los que los asistentes podrán practicar todo lo aprendido con la guía del speaker especialista. Por este motivo, es recomendable que los asistentes permanezcan en un solo track durante todo el día.

    Tendremos la siguiente agenda tentativa para cada uno de los tracks:

     

    Flair001

    8.30 – 9.00 Registro
    9.00 – 10.40 Primera Charla
    10.40 – 11.00 Break (Incluido)
    11.00 – 12.00 Segunda Charla
    12.00 – 13.00 Almuerzo (Incluido)
    13.00 – 15.45 Laboratorios
    15.45 – 16.00 Evaluación Evento y Cierre

     

     

    Como ven, habrá break y almuerzo incluido y es necesario traer laptop para los laboratorios. Posteriormente cuando abramos las inscripciones para el evento, especificaremos los requerimientos necesarios para cada track. Por si fuera poco, para los emprendedores vamos a tener la posibilidad de entrar en los programas de emprendimiento de Microsoft llamados WebSiteSpark y BizSpark a través de los cual tendremos acceso a licencias de herramientas Microsoft para el desarrollo de aplicaciones web, soporte y visibilidad.

    WebSiteSpark:

    BizSpark:

     

    Nuestro Request for Speakers ya ha cerrado y estos son los confirmados:

    JQuery, REST, JSON

    Frank Silva

    Windows Azure

    Gerardo Ramos

    IE9, HTML5, CSS3

    Juan Carlos Ruiz Pacheco

    MVC 2 (3)

    Hugo Zapata

    ASP.NET 4

    Roberto Alvarado

    WebPi: WebMatrix y Kentico

    Marylin Alarcón

     
    Las inscripciones para este evento ya están abiertas aquí
     


  • WarNov Developer Evangelist

    Resultados del ICFES: Ahora sobre Windows Azure

    • 11 Comments
     

    Es hasta el momento la aplicación más grande en el país, montada sobre Windows Azure y es para mí muy agradable declararla como mi primer pequeño hijo Azure, luego de linear la arquitectura de su funcionamiento y de haber pasado derecho 24 horas programándola. Esto, dado que empezar de ceros y terminar en tiempo record, pues existían ciertos problemas con la anterior plataforma entre ellos la incapacidad de re direccionar correctamente al sitio original del ICFES para mostrar información distinta a la de los resultados y también el precio que en total es más de 8 veces más alto que el logrado con Windows Azure (de cerca de US$25.000 pasamos a US$3000: exagerando)

    Todo comenzó con la noticia de que uno de nuestros principales socios de negocio certificados: ASESOFTWARE (CMMI 5) estaba interesado en desarrollar la plataforma que serviría para presentar los resultados del Examen de Estado ICFES a la nación colombiana (600.000 resultados). Al oír esto, de inmediato me desplacé a sus instalaciones para apoyarlos en este proceso.

    Fue una misión compleja. Estábamos sobre el tiempo y necesitábamos salir al aire lo más rápido posible. Sin embargo es esto mismo lo que demuestra las bondades de Azure, que nos permiten aprovechar todos los conocimientos que ya tenemos sobre .NET y sumados a algo de teoría de Cloud Computing nos permiten salir muy rápido a producción. Gracias al empeño y gran experiencia en desarrollo de ASESOFTWARE pudimos aprovechar y capitalizar todas estas ventajas.

    Básicamente necesitábamos subir esa gran cantidad de data a la nube, y crear una aplicación web bajo los lineamientos del ICFES para mostrarlos al público.

    image

    Análisis de la solución:

    Necesitábamos una capa de alimentación de datos, otra capa de negocio para implementar la lógica y finalmente una capa de presentación Web para los usuarios finales. Nótese que en este caso no necesitamos una capa de servicios, dado lo puntual de la solución. Si se hubiese necesitado igual no habría habido ningún problema porque Windows Azure está totalmente preparado para estos casos.

    Capa de Alimentación de Datos

    La decisión más simplista, hubiese sido usar SQL Azure y subir todos los datos a la Base de Datos en la nube. Esto se hubiese podido hacer con Integration Services y se hubiese podido obtener un resultado más que aceptable.

    Pero en Windows Azure existe el storage nativo en tablas no relacionales. Un tipo de almacenamiento que se ajusta perfectamente a requerimientos como este en el que solo es necesario tener datos estructurados que no se relacionan con tablas adicionales. Un claro ejemplo de una base de datos NOSQL. SQL Azure está más enfocado a servir como Base de Datos a aplicaciones altamente relacionales y transaccionales cuyo modelo de operación es difícilmente concebible con tablas sin integridad referencial (ERPs, CRMs, etc.) Entonces para qué incurrir en los altos costos de SQL Azure sin necesidad? SQL Azure es 66 veces más costoso que el almacenamiento en tablas de Windows Azure (US$0.15 por Gb por mes). Y esto es apenas lógico, dado que por debajo existe todo un motor relacional que administra la integridad referencial, la ejecución optimizada de consultas y un sinfín de aspectos adicionales.

    Esto, sin mencionar que las tablas tienen un rendimiento mayor a SQL Azure, dado que su acceso se hace directamente sin pasar por un motor de validaciones adicional. Y por otro lado, son altamente escalables, desde que una vez definida una columna de partición en nuestras tablas, Windows Azure encarga de distribuir automáticamente los datos en distintos nodos físicos, de manera que el acceso siempre es lo más optimizado posible. En este caso por ejemplo, hicimos particiones por colegios. Así que los resultados de cada colegio se almacenaron en una partición distinta sin mayor esfuerzo. Por si fuera poco, cada registro grabado en una tabla de Windows Azure, queda respaldado con otras dos copias de seguridad, para brindar redundancia. Esto se ejecuta sin costo alguno (tiempo, dinero, o programación) además sucede lo mismo con los blobs, las colas y el mismo SQL Azure.

    Así pues, procedí a crear un aplicativo Windows que tomaba la información de resultados del ICFES y la llevaba hasta la nube.

    Capa de Negocio y Presentación WEB

    El equipo de desarrollo de Asesoftware tomó una interfaz de acceso a datos Web que ya existía y le hizo la adaptación para consultar los datos de las tablas. Estos datos eran presentados en formato HTML y también sirvieron para construir un PDF que se distribuye a los usuarios de la aplicación que contiene el boletín con los resultados del examen. Estos PDFs luego de ser construidos, se almacenan en el espacio de BLOBs de Windows Azure, que también nos brinda unos costos súper bajos de almacenamiento (US$0.15 por Gb).

    En estas capas hubo que tener en cuenta ciertas consideraciones, como por ejemplo el manejo de las interfaces con los esquemas de almacenamiento de Windows Azure, los modelos de redirección de la aplicación al dominio original, etc. En general estrategias puramente técnicas que ya he publicado en mis artículos de Windows Azure dentro de este blog, o que estaré publicando próximamente.

    Solución Desplegada

    Siendo sinceros, esta solución fue desplegada en Azure con una estrategia de sobre-estimación dado que es la primera vez que se sale al aire con un proyecto de esta magnitud en el país y se quería prevenir cualquier eventualidad que pudiera dar una mala imagen de la plataforma. Fue así como la solución se desplegó en cuatro WebRoles de tamaño grande (CPU: 1.6Ghzx4, RAM: 1.7Gbx4) lo que al final nos da una capacidad de 25.6GHz de procesamiento en conjunto y 27.2GB de RAM. En realidad estimo que para la situación actual, sería suficiente con el 70% de esta capacidad. Pero gracias a los precios de Azure, se pudo establecer este esquema holgado, sin un mayor impacto a la inversión. Además, en las noches cuando hay menos carga, se bajan máquinas para disminuir los costos. Por eso, cuando hablé de un total de US$3000 para tener la aplicación desplegada durante una semana, dije que estaba exagerando. En realidad el costo es menor. Recuerden que el costo antes de Azure también por una semana estaba alrededor de los US$25.000!

    Conclusión

    Windows Azure permitió a ASESOFTWARE sacar en muy corto tiempo (contra reloj) una aplicación de consumo masivo para un gran cliente como lo es el ICFES que ha respondido y superado perfectamente sus expectativas, con unos costos muchísimo menores (8x) y también con la ventaja de que la solución final es totalmente dinámica en su despliegue permitiendo pagar solo lo que se consume, sin necesidad de contratos o tarifas planas que pueden generar desperdicios en la inversión de capital para el cliente.



  • WarNov Developer Evangelist

    Aprender Azure podría significarte una XBOX de última generación más un Kinect!

    • 4 Comments

    Microsoft Virtual AcademyDescarga el trialMicrosoft Activa

    Aquí mismo en mi blog encuentran más recursos para aprender!



  • WarNov Developer Evangelist

    Windows Azure Interoperable

    • 2 Comments

    Windows Azure, la plataforma de Cloud Computing de Microsoft, esta diseñada para permitir interactuar con plataformas y lenguajes que no tienen que ser siempre Microsoft. Veamos de que se trata en este corto video.

    Script del Video:

    Microsoft provee la tecnología más actualizada que ayuda a las empresas del mundo a mejorar sus negocios. Así como Windows ofrece una plataforma que permite desplegar tecnologías Microsoft y No Microsoft, la plataforma de Windows Azure provee un ambiente flexible para desarrollar aplicaciones y servicios en la nube.

    Como sabemos, Windows Azure es un sistema operativo que facilita el desarrollo, y de aplicaciones basadas en Cloud Computing. De esta manera, nos permite desarrollar, hostear y administrar servicios y aplicaciones en la nube.

    Esta plataforma de cloud está diseñada para maximizar la interoperabilidad

    Usando herramientas de Windows Azure y ambientes de desarrollo como Visual Studio, Framework .net, Eclipse, PHP y Java, se pueden crear aplicaciones portables que corren en Windows Azure.

    Windows Azure soporta protocolos de internet muy usados tales como HTTP, REST, SOAP y XML. Así aseguramos portabilidad de datos desde ambientes de desarrollo externos.

    Microsoft ofrece recursos de Windows Azure que son OSS útiles por ejemplo para hacer integración de ambientes de desarrollo como Eclipse de manera tal que se ofrecen una serie de wizards y utilidades para escribir, depurar. configurar y desplegar aplicaciones PHP a Windows Azure.

    En cuanto a lenguajes de programación el Windows Azure SDK para  PHP ayuda a los desarrolladores PHP a crear aplicaciones web basadas en PHP que pueden correr en Windows Azure y los desarrolladores JAVA pueden usar el SDK para JAVA, y usar los servicios de almacenamiento de Windows Azure para almacenar datos de sus aplicaciones.

    Adicionalmente, Windows Azure también ofrece el Windows Azure Tomcat Accelerator para desplegar soluciones Java basadas en Tomcat en Windows Azure. Esto comprende básicamente subir los ejecutables del servidor de Tomcat a la nube para poder desde Windows Azure ejecutar aplicaciones Java.



  • WarNov Developer Evangelist

    PDC 2010 en Colombia!

    • 0 Comments

    El PDC es el evento más importante para Desarrolladores Profesionales en el mundo. Este año por primera vez se estará emitiendo masivamente a través de transmisiones online y además con réplicas en los principales países de la industria de Software, entre ellos Colombia.

    En esta imagen encuentran la información del evento y dando clic sobre el mismo serán transferidos a la página de registro gratuito.

    PDC 2010 Colombia



  • WarNov Developer Evangelist

    Problemas de Modificación de Tooltip en Silverlight?

    • 2 Comments

    Estaba escribiendo una aplicación en Silverlight que tenía que cambiar el Tooltip de acuerdo al idioma escogido. Obviamente esto se hace programáticamente, pero observé que en ocasiones los cambios no se ejecutaban de acuerdo a lo que decía el código. Después del tradicional “cacharreo” observé que el Tooltip no  se actualiza, si al control en tiempo de diseño se le fue asignado un Tooltip en particular. Así que si desea que el tooltip siempre se actualice, asegúrese  de que el control en tiempo de diseño tiene el tooltip en Nulo. Ojo: Nulo. No se vale que luego de haberlo inicializado en tiempo de diseño, use por ejemplo Blend para modificar el tooltip borrando el que ya había, pues esto nos deja un tooltip con cadena vacía, que tampoco dejará actualizarlo con código.



  • WarNov Developer Evangelist

    Sesión Ejecutiva para Empresas de desarrollo a la medida en Azure

    • 5 Comments

     

    image

    Este mismo evento lo tendremos en Medellín:

    image



  • WarNov Developer Evangelist

    Silverlight Tour–Bogotá, Colombia (20Oct–22Oct 2010)

    • 1 Comments

    SLT_Trans

    El Curso de Silverlight que Ha dado la Vuelta al Mundo: el Silverlight Tour regresa a la capital Colombiana del 20 al 22 de Octubre 2010!

    El Silverlight Tour es un curso de tres días acerca de Silverlight 4: a detalle, con mucho código y una gran cantidad de conceptos técnicos y de arquitectura que todo desarrollador profesional de Silverlight (y claro, de Windows Phone 7) debe conocer a profundidad.

    Tip: esta fecha para Bogotá cuenta con una magnífica promoción que no querrán dejar pasar Smile así que les recomiendo aseguren su lugar registrándose en el sitio del curso.

    image

    Sí: Colombia es Pasión y Silverlight también! Winking smile

    Los esperamos!



  • WarNov Developer Evangelist

    Programando desde varias máquinas sin TFS

    • 3 Comments

    Esta técnica solo es recomendable si es un proyecto que lleva usted solo (es decir no un equipo). Es muy sencillo. Solo es necesario usar Live Mesh para mantener sincronizadas las carpetas. Yo la uso porque tengo varias máquinas (en la casa, la oficina, etc.) Pero existen ciertas situaciones que hay que tener en cuenta:

    Hoy por ejemplo no podía ejecutar mi aplicación por este error:

    The located assembly's manifest definition does not match the assembly reference

    Sucede que mi app estaba buscando una versión de DLLs errada.

    Luego de mucho “cacharrear” encontré que esto sucede porque se copian las dlls de otras máquinas en la que esta ejecutándose el Live Mesh. Para solucionarlo, basta con eliminar todas las dlls producto de la compilación de nuestra solución y volverlas a generar.

    Estaré actualizando este post con más incidencias de esta modalidad.



Page 1 of 1 (13 items)