November 2010 - Artículos

El otro día me dio por echar un vistazo a las ofertas laborales en España, concretamente a la informática o IT.
El resultado fue desolador, e inevitablemente me puse a reflexionar del porqué llevábamos unos cuantos años ya en esta situación.
Muchas ofertas, y porqué no decirlo, prácticamente todas, el 99,99% de ellas, para llorar.
Ofertas de trabajo en las que se piden multitud de conocimientos, muy diversos y variados entre ellos, con responsabilidad, horarios tirando a malos o muy malos, con mucha experiencia, e incluso con el dominio de 1 ó 2 idiomas, y todo por un pésimo sueldo.
No contento con ello, me puse a mirar si en otros sectores pasaba lo mismo, y aunque variaban algunos de los puntos comentados anteriormente, el resultado tampoco era como para sentirse satisfecho de la suerte que tenían otras personas en otras profesiones... más bien fue para ver más de lo mismo.
Ante esto, uno piensa... ¿que está fallando?, ¿dónde está el error?, ¿hay acaso error o esto es lo normal?.
Pensé entonces en la crisis global y decidí "viajar" un poco y me fuí a mirar ofertas en otros países, y acabé en UK.
Sé que UK es más cara que España, pero ¿es el doble de cara?.
Evidentemente no, ¿y entonces?, ¿porqué los sueldos son el doble o casi el triple que en España?.
¿Hay truco?.
Pues no, no hay truco, simplemente allí, una persona de IT está bien considerada.
En España al contrario, una persona de IT podría trabajar en una esquina y hasta a lo mejor pasaría desapercibida (lamento el tono tremendamente negativo, pero si pienso bien no me lo creo).
Y para más inri en España, aunque se pida mucha experiencia y se pague poco, la gente termina aceptando, esclavizándose, porque no conviene estar equivocados.
Una empresa que contrata a una persona con un perfil elevado por dos duros, no está pensando en cuidarle, sino en sacarle todo el jugo mientras pueda.
A lo mejor es inteligente y le cuida, pero lo que he visto y he experimentado en carnes propias no es eso precisamente.
Y es así como empieza la esclavitud del siglo XXI.
Personas completamente formadas (la famosa generación JASP), con estudios y preparación suficientes para desempeñar puestos de responsabilidad, capaces para llevar a cabo todas las tareas encomendadas, y al fin y al cabo, atado a una empresa que sabe que la necesita para pagar la hipoteca y a ésta le interesa pagar poco para sacar mucho por poca inversión, meterlo en un currículum de empresa envidiable y que sirva para ganar alguna subvención, concurso, etc.
Y es que la esclavitud del siglo XXI viene con el endeudamiento personal y familiar.
Nos endeudamos, nos atamos a los bancos, y luego, es necesario tener un trabajo estable, con un sueldo adecuado y dentro del ámbito personal y profesional del individuo.
Si no te queman mucho, va bien la cosa.
Y si te quedan sin trabajo, uno se pone a buscar y aunque vea que todo lo que ve es para echar a correr, no tiene más remedio que aceptar trabajos donde se le pide todo por casi nada.
Piensas en tu familia, en tus hipotecas... y al final hincas la rodilla y aceptas (aunque lo critiques). Eso o pasar hambre o perder todo.
Así, tenemos muchísimas empresas finales y sobre todo consultoras en el mercado (uno se da una vuelta por tecnoempleo, infojobs e infoempleo y lo ve).
Las empresas finales que contratan a esas consultoras lo saben, y por eso quieren un proyecto por dos duros.
En ese punto, las empresas consultoras y clientes finales aprovechándose del endeudamiento de los individuos, sacan tajada de estos para hacer caja.
Y así, el "kilo" de informático, cuesta en España lo que cuesta,... dos duros.
No sé como lo verás tú, pero yo lo veo como la esclavitud del siglo XXI.
Y lo peor es que no hay remedio. Al menos en España yo no lo veo claro.
Hay mucho chupatinta que crea consultoras, se aprovecha de esta situación y hace su calcetín a costa de los demás.
Eso sí, muchas de esas empresas que contratan a las consultoras, obtienen un Software o un departamento de Sistemas hechos unos zorros y que al final termina en muchas ocasiones con ellas mismas.
Haciendo aguas por todos los lados y con una calidad pésima.
¿Es acaso culpa de la calidad de la gente que trabaja en las consultoras?.
En muchas ocasiones es culpa de la calidad de trabajo, entusiasmo, sueldo, motivación,... y eso los clientes finales de las consultoras lo pagan... bueno, en realidad pagan lo que reciben... pagan poco y reciben muchas veces castañas adornadas.
En España de todos los modos, hay un problema de raiz.
Muchas empresas después de pasar por la experiencia de las consultoras han terminado creando sus propios departamentos de IT y desarrollo (sabia elección que debería ser tomada por muchas de ellas), pero para otras muchas, se dieron cuenta tarde y eso les ha generado gastos inmensos, por no decir nada de las que ya han desaparecido.
Lo quieran ver o no, en la nueva esclavitud del siglo XXI, los laborales son los primeros damnificados, son los que están en las galeras remando.
El que pega los latigazos son las consultoras y empresas finales que se aprovechan del pobre empleado dispuesta a remar por un pequeño cuenco de arroz.
Y el timonel es el cliente final o el jefe de la empresa final que está seguro de llevar a buen puerto la nave.
El problema es que muchas de ellas se quedan varadas en medio del Océano, y otras terminan encallando en las rocas.
Cuando llegue ese momento, será tarde, porque los remeros habrán muerto o habrán huído.
¿Solución?.
Echarlos al Océano por la borda y contratar más remeros dispuestos a cobrar parte de sueldo y parte de latigazos, y a seguir remando...

Una de las cosas que más me gusta de la plataforma .NET es el adios al DLL Hell que tanta mala fama ha dado a Windows.
En el pasado critiqué abiertamente a Microsoft por este tipo de errores y otros, y cuando alguien me pregunta por Microsoft, siempre digo que lo que más me gusta de esa empresa es la autocrítica que hace y en su caso, el intento por reparar los errores que hayan podido cometer (quién esté libre de pecado que tire la primera piedra).
Pensar en Windows como lo malo y en Mac OS o Linux como lo perfecto, es ignorar la historia y la realidad... y casi me atrevería a decir, no mirar de forma crítica lo que hoy ocurre, más concretamente con los dispositivos móviles.
Todos sabemos que ahora mismo, los dispositivos móviles se mueven en su gran mayoría entre dos aguas, hablo de iPhone y de Android.
Cierto es que HP (Blackberry) está intentando impulsar su renovado Palm, y que Microsoft ha reaccionado con su windows Phone 7, pero a Microsoft hoy por hoy, le queda mucho camino que recorrer para recuperar todo el terreno perdido (y creezme que lo hará, pero le costará algo de tiempo).
Fijémonos en iPhone por ejemplo.
Apple, Steve Jobs, Apple, Steve Jobs... ambos o uno sólo, como queramos, tiene por costumbre decir que sus sistemas no tienen los problemas de Windows. Lo que muchos obvian es que sus entornos son cerrados y carecen de extensión.
¿Porqué?. Si cierras la puerta, seguro que no entra ningún invitado no deseado, y si quiere entrar... que llame primero. Así, nos ahorramos disgustos.
Es una postura inteligente y astuta, aunque más antigua que el fuego.
No obstante, si queremos actualizar el sistema operativo (en esta semana se ha publicado una nueva versión de su iOS), ¿habrá problemas con el hardware y software existente?.
Teóricamente diríamos que no, ¿verdad?.
Pues la realidad es tozuda y la respuesta es sí.
De hecho, desde el punto de vista del desarrollo de aplicaciones móviles para iPhone, nos encontraremos con incompatibilidades en el desarrollo de aplicaciones para iPhone 3 e iPhone 4, es decir, no todo lo que funciona en iPhone 4 va a funcionar en iPhone 3 y viceversa... ¿porqué?.
Pregúnteselo a Steve Jobs... él asegura que su oferta es integral y que no causa ninguno de estos problemas.
Pasemos ahora a analizar a nuestro otro encausado... Android.
El caso de Android es opuesto.
Google decide crear una plataforma abierta, muy inteligente desde mi punto de vista, y no falto de sorpresas añadidas como la demanda de Oracle por el uso de Java y patentes (recordemos que Oracle compró a Sun).
No obstante, Google en mi opinión ha hecho un excelente trabajo y Oracle no tiene mucho que rascar ahí, lo que pasa es que todas las empresas buscan la pasta, y si ven una posibilidad por pequeña y remota que sea, allí se meten como un elefante en una cacharrería.
En el caso de Android, Google ha actualizado diferentes versiones de su sistema operativo.
El problema se subdivide en dos en este punto.
Por un lado, algunos frikis han recogido el código fuente de Android y han creado su versión cocinada del mismo.
Tengo algún amigo que se ha atrevido con esta instalación y luego pasa lo que pasa... (lo he visto en directo)
No obstante, las diferentes versiones de Android no deberían dar ningún problema a los desarrolladores... bueno... ningún ningún nigún problema... es mentira.
Resulta que es posible que te encuentres desarrollando una aplicación móvil para Android y que para unos dispositivos funcione y para otros no... ¿que significa esto?.
Que el hardware tiene mucho que ver, y que lamentablemente habría que probar una aplicación en casi toda la variedad del mismo existente en el mundo.
¿Os imaginais?.
[P.D.: tengo un Android y estoy encantado con él, pero las cosas son así]
Y aquí entra en escena nuestro nuevo y flamante Windows Phone 7.
El gran desconodido de los niños.
Y es que Windows Phone 7 hoy por hoy, parece que está dando unos buenos resultados, pero muchos somos los que sólo oímos hablar de él y poco más.
No obstante es aún pronto para saber que va a pasar en el futuro próximo cuando empiecen a aparecer actualizaciones del sistema operativo o cuando empiecen a aparecer dispositivos de "su padre y de su madre".
Microsoft asegura que la actualización del sistema es casi transparente, y se presupone que las aplicaciones no deberían dejar de funcionar.
Quiero pensar que Microsoft habrá continuado con la línea que comenzó con .NET y en la que apenas hay quejas, pero es indudable que los programadores también tenemos nuestra parte de responsabilidad sobre el desarrollo de aplicaciones y su idoneidad para que se ejecuten sin problemas en todos los dispositivos hardware. No sólo hacen falta tener herramientas de desarrollo, también de pruebas y de implantación.
Veremos en el futuro que ocurre, pero de momento, tanto Apple como Google ya han empezado a tener sus problemas, problemas que intentan tapar rápidamente y que como digo, muchos de ellos son achacables a los fabricantes de Software.
De todos los modos, nos encontramos como vemos con tres modelos o líneas muy diferentes en mi opinión.
Apple, cerrada.
Google, abierta de par en par.
Microsoft, abierta pero no tanto como Google.
¿Quién de los tres acierta?. ¿Actúan los tres adecuadamente?.
En mi opinión, la mayoría del Software desarrollado para iPhone, Android y Windows Phone 7 funcionará con todos los dispositivos, pero ya veremos si todo.
Una cosa que hace muy bien Microsoft son las obligaciones que debemos cumplir en el desarrollo de soluciones para Windows Phone 7 su subida al Market de Microsoft.
Por cierto, sirvan algunos ejemplos de fallos de funcionamiento de aplicaciones o sistemas operativos en dispositivos móviles: iPhone y Android.
Angry Birds para Android (mirar el blog de Rovio).
Nuevo sistema operativo de iPhone iOS 4.2 (twitter es un hervidero en estos momentos).
¿Quién da más?

P.D.: Véase Reyes Magos previamente si no está familiarizado con ellos [Reyes Magos de Oriente].
A veces hay que salirse un poco de lo normal y ser un poco friki en sus entradas... sin llegar al rigor extremo de lo que se publica pero con algo de cariño sobre todo por que se acercan las Navidades.
Aunque nos parezca que está lejos, apenas queda 1 mes para Navidad y ese mes pasa volando, y claro, un informático de pro, no puede dejar de pensar en un jefe de proyectos y un equipo de desarrollo navideño. la toma de requerimientos, el diseño técnico, es decir... lo que montaríamos tecnológicamente hablando, para facilitarles la vida a los Reyes Magos y llevar a buen puerto su proyecto navideño cargado de ilusiones y buenos deseos.
¿Cómo empezaría esta historia?. ¿Qué tecnologías entrarían en juego?. ¿Seremos capaces de llevarlo a cabo?
Déjenme que les diga que lo primero de todo es conocer a nuestros 3 Reyes Magos,... sí sí, Melchor, Gaspar y Baltasar, y entrar en una relación de confianza con ellos y saber bien cuales son sus propósitos.
También debemos recordar que deberán implicarse en el desarrollo del proyecto o casi seguro que resultará ser un fracaso.
Nosotros pondremos en juego toda nuestra experiencia y conocimientos, y con eso y algunos truquitos ocultos que siempre son buenos reservárselos para las ocasiones en las que estaríamos dispuestos a llamar al mismísimo McGiver o a los increíbles Equipo A, lograremos cumplir los objetivos en fechas.
Objetivos:
Parece ser que nuestros 3 Reyes Magos, conocedores de todas las tecnologías habidas y por haber, quieren valerse de la tecnología actual de Microsoft para repartir los regalos navideños de un modo eficiente, seguro y adecuado (¿se imaginan regalarle una triste peonza a Jaimito como hizo erróneamente Santa Claus?).
Han elegido Microsoft porque según ellos, es cool (yo sobre eso no tengo nada más que añadir, lo dice el cliente y además tiene razón).
Según sus pronósticos, los 3 Reyes Magos consideran que con las nuevas tecnologías podrán ser más eficientes para repartir los regalos, pudiendo estar en su pais antes de lo que lo han estado en estos últimos 2000 años.
Y yo creo que lo pueden y podemos hacer posible.
¿Cómo llevar a cabo estas tareas?.
Comenzaremos a tomar los requerimientos oportunos del proceso.
Para ello, nos hemos juntado con los Reyes Magos y con un equipo de tres pajes seleccionados por los propios Reyes Magos.
El equipo de trabajo está formado por lo tanto por 6 personas que nos ayudarán a tomar los requerimientos del proyecto.
Requerimientos:
Sólo se admitirán las cartas fechadas entre el día 7 de enero del año en el que se celebra la Navidad y el 6 de enero del año siguiente (año nuevo) [por ejemplo, del 07/01/2010-06/01/2011].
Se recogerán todas las notificaciones recibidas por los Reyes Magos:
* Correos electrónicos.
* Cartas y postales.
* Sms.
* Sobres que los niños van dejando en los centros comerciales y cabalgatas fundamentalmente.
Un escáner potente se encargará de leer cada una de las cartas y postales y mediante un proceso OCR de reconocimiento muy potente, se encargará de obtener la información que cada niño ha rellenado.
Para ello, cada niño deberá haber escrito la carta en letra legible (no es válida la "letra de médico" ya que el sistema no podría reconocerla).
Si no se reconoce la carta, se eliminará.
También se entenderá que el niño habrá escrito bien sus datos personales (nombre, apellidos, dirección y edad).
En caso contrario, la carta se eliminará igualmente.
En el caso de los correos electrónicos, esa información será leída por un proceso interno que estará operando durante todo el año.
Si un niño envía dos notificaciones, se entenderá que la última es la que tiene valor, suprimiéndose así la anterior.
Se deberá crear una base de datos relacional que permita tener bien identificados a los niños.
El censo adecuado nos facilitará la identificación de la vivienda, dirección, etc del niño.
En el caso de no disponer de esta dirección, se solicita una dirección alternativa como la dirección de los abuelos, los primos, los tíos o algún amigo o familiar que conozca a los niños en cuestión.
Se utilizarán los mapas electrónicos y de satélite para establecer un enlace de la vivienda en la que se pueden dejar los regalos del niño.
Estos datos se incluirán junto al registro de cada niño (referencia: base de datos relacional anterior).
Adicionalmente, se identificarán también las coordenadas de GPS de cada vivienda que irá incluida en la ficha del niño.
Cada Rey Mago llevará un dispositivo electrónico que identificará en todo momento su situación por GPS y le mostrará un aviso luminoso para que actúe adecuadamene.
Para facilitar la labor, se le presentará en el dispositivo las coordenadas exactas de la casa en la que debe dejarlos y un listado de los regalos.
Adicionalmente le mostrará si es posible, un mapa de la casa y una fotografía del edificio en el que debe realizar la entrega.
En el caso de que la casa disponga de alarma, se le notificará a uno de sus pajes el pin adecuado para neutralizarla y volverla a activar una vez termine el proceso (el proceso suele durar medio segundo entre que llega el Rey Mago y se realiza la entrega de regalos y sale corriendo, por lo que la alarma apenas percibirá la desconexión y conexión de la misma. Esto se realizará como motivo de seguridad).
Si existe algún animal o mascota que pueda poner la misión en peligro, le enviará a uno de sus pajes una señal lumínica de aviso para que le entretenga mientras el Rey Mago realiza sus acciones.
Según se vayan entregando los regalos, la aplicación permitirá enviar una marca o flag al gestor de contenido para que indique que la entrega ha quedado realizada.
Todos los Reyes Magos y pajes dispondrán de un canal seguro que permita una comunicación entre ellos por medio de algún programa de chateo, mensajes, voz, etc.
Diseño Técnico:
Una vez atendidos los requerimientos, vamos a ponernos manos a la obra.
Sin entrar en demasiados detalles, debemos resumir nuestras tareas de la siguiente forma:
Se preparará un sistema con Windows 2008 Server y una base de datos en SQL Server 2008 R2 ó SQL Azure (esto dependerá en buena manera a los estudios económicos que todavía quedan pendientes con el departamento comercial).
Habrá una base de datos por año.
Cada información recibida se irá almacenando en su base de datos.
Así, una petición recibida el 10 de Enero de 2011, irá a la base de datos del 2011 y no a la del 2010.
El modelo de datos contendrá una tabla con el listado o censo de cada niño en el mundo.
Esa tabla contendrá los siguientes datos generales:
* Id
* Nombre
* Apellidos
* Dirección
* Número
* Portal
* Puerta
* Ciudad
* Provincia
* Pais
* Código Postal
* Posición GPS de la vivienda
* Pin Alarma
* Tiene mascota
Habrá otra tabla relacionada con la anterior y que contendrá la lista de regalos asociados a cada niño:
* Id
* Regalos
* Flag (entregado, no entregado, imposible entregar)
* Causa (si procede)
Otro sistema dotado con Windows 7 estará conectado a un escáner HP de última generación, capaz de reconocer más de 100 hojas y escritor OCR por minuto.
Se creará una aplicaión Windows con WPF en Visual Studio 2010 que se encargará de lanzar el proceso de escaneado y de realizar a cabo toda la gestión del proceso.
La inserción de datos a la base de datos se realizará a través de los servicios del servidor de aplicaciones.
Para no entorpecer la acción de escaneado y reconocimiento OCR, se creará un servicio Windows en Visual Studio 2010 que se encargará de leer los correos electrónicos y realizar la misma acción de reconocimiento y escritura de datos en el modelo de datos.
Se abordará un proyecto con WF y Visual Studio 2010 que permita establecer un flujo de trabajo con notificaciones, aprobaciones, etc., del proceso de reconocimiento.
Existirá otro sistema operativo Windows 2008 Server que tendrá alojados todos los servicios de la aplicación.
Todos los servicios del servidor de aplicaciones será desarrollado con orientación a la nube. En este caso se abordará todo el desarrollo pensando en Windows Azure asumiendo las ventajas que nos aporta y la alta disponibilidad a la que tiene que estar el sistema.
Uno de los servicios desarrollados en WCF y Visual Studio 2010 se encargará de realizar las acciones de registro de los datos escaneados y reconocidos por OCR de los niños con la base de datos.
Este servicio recibirá tanto los datos de correos electrónicos como escaneados y reconocidos por el OCR de HP.
A cada Rey Mago y cada paje, se le suministrará un Windows Phone 7 con un desarrollo a medida para llevar a cabo las tareas encomendadas.
La aplicación de Windows Phone 7 deberá conectarse con un servicio desarrollado con WCF y que le mostrará la siguiente información general:
* Un mapa con Bing Maps de la zona en la que se encuentra y con puntos rojos que indican las viviendas en las que aún no ha realizado las entregas o en las que faltan por realizar entregas.
* Seleccionará un punto rojo y aparecerá las coordenadas de la vivienda, una fotografía de la vivienda y un pequeño listado de las viviendas a visitar.
* Al hacer clic sobre una vivienda, aparecerá un mapa de la misma y un listado de los regalos a entregar.
* A cada paje, se le enviará una notificación de si la vivienda tiene alarma y el pin de seguridad de la misma, y si hay alguna mascota, con el fin de que colabore con el Rey Mago en la entrega de regalos sin ningún imprevisto.
* Cuando el paje active nuevamente la alarma, deberá enviar un aviso de que la entrega se ha llevado a cabo. Es posible que la entrega no se pueda llevar a cabo, por lo que el paje deberá indicar no sólo que la entrega no se pudo llevar a cabo, sino incluso el motivo, para que el comité de seguimiento pueda estudiar el caso con el fin deque no se repita en el futuro.
Otro servicio desarrollado en WCF proveerá los servicios que serán consumidos por los dispositivos Windows Phone 7.
Estos servicios utilizarán en todo momento un acceso y canal seguro para establecer la comunicación.
Estos servicios registrarán además cada una de las acciones realizadas tal y como veremos más adelante.
Con el fin de que cada Rey Mago y los pajes se puedan comunicar entre ellos (por ejemplo, que un niño se despierte antes de tiempo o se haya levantado al servicio dentro de la casa), se habilitará en la aplicación un icono que cambiará de color y que permite idenficar rápidamente lo que ocurre.
Un icono de color verde indicará que todo está tranquilo.
Un icono de color naranja, que alguien quiere hablar o enviar un mensaje al Rey Mago o al paje.
Un icono de color rojo, indica alarma y precaución.
Cada Rey Mago y paje tendrán un usuario que les identifique entre ellos (a establecer por el cliente).
Para la comunicación, se utilizará Windows Live Messenger para Windows Phone 7.
En todo momento, el servicio WCF principal recogerá un log de registro de sucesos.
Un servicio de Windows se encargará de recoger la información del log y de alimentar unas tablas que van alojadas a la información anual de la base de datos.
Ese log será estudiado posteriormente para aplicar mejoras de calidad en los procesos y estudiar posibles problemas y aquellas tareas que se han hecho según lo previsto.
Para llevar a cabo esta tarea, existirá una aplicación desarrollada en Silverlight 4 que estará disponible en el servidor de aplicaciones.
Esta aplicación se alimentará de datos extraídos en una minería de datos de la base de datos de SQL Server 2008 R2 y con informes elaborados con Reporting Services, mostrará la información de acuerdos a los filtros establecidos en la aplicación.
Otros detalles:
Como metodología se ha decidido usar Scrum.
En todo momento se utilizará Visual Studio Team Foundation Server 2010. Todo lo referente a la metodología de Scrum se gestionará a través del TFS 2010.
Como herramientas de desarrollo se utilizará Visual Studio 2010.
Se desarrollará todo a través de .NET Framework 4.0.
Evidentemente, se llevarán a cabo todas las pruebas unitarias pertinentes.
Adicionalmente se preparará un checklist de pruebas funcionales para que sean aceptadas por la parte cliente.
Se ha ofrecido la casa de los programadores para la entrega de regalos en las pruebas unitarias, pero el cliente ha desestimado el ofrecimiento, así que ya se nos notificará como se llevarán a cabo esas pruebas cuando llegue el momento.
Tecnologías utilizadas:
.gif)








Atentamente... el equipo de desarrollo de los Reyes Magos Inc.

Para los que no hayan podido presenciar todas las sesiones del TechEd (normal), o para los que no hayan podido ver ninguna, tenemos un recurso muy interesante donde encontraremos la inmensa mayoría de los videos mostrados en el TechEd.
El servicio o la web se llama TechEd Online, y allí encontraremos por paises y secciones los videos más destacables.
Ni que decir que esos videos están en inglés y que su duración oscila dependiendo de la extensión, que suele estar en aproximadamente 1 hora por video.
Podrás acceder a esta información en este enlace.

Los que me siguen por Twitter sabrán de esta noticia porque la publiqué por ese medio ayer, pero hoy quiero hacerla en mi blog para que no caiga en saco roto.
Channel 9 anunció ayer una batería de más de 60 videos en inglés sobre Windows Phone 7, y dirigidos al desarrollador iniciado.
Podrás acceder a esos videos en este enlace.
Espero que los disfrutes.

Una de las críticas más feroces que ha recibido Windows Phone 7 es que no es posible sincronizar los contactos de Outlook con Windows Phone 7.
El tema es que sí es posible sincronizar Exchange con Windows Phone 7, pero ¿Outlook?... ¿se ha convertido en el patito feo de Microsoft de repente?.
Parece ser que en una próxima actualización sí se podrá llevar a cabo esta tarea... pero a lo mejor no es necesario esperar a eso.
Microsoft ha publicado un knowledge base (KB) que resuelve este problema, por lo que se podría decir que sí es posible sincronizar los contactos de Outlook con Windows Phone 7.
Lamentablemente, no tengo un Windows Phone 7 para poder probar esto, por lo que agradecería que alguien que sí tuviera este dispositivo, pudiera comentar algo al respecto. :-)
El enlace de la KB de Microsoft de cómo sincronizar los contactos de Outlook con Windows Phone 7 lo encontrarás aquí.

Desde hoy, feature Pack 2 está disponible para subscriptores de MSDN, concretamente para subscriptores de Visual Studio Ultimate, Visual Studio Premium, y Visual Studio Test Professional.
Recuerda que Feature Pack extiende características de Visual Studio 2010 relacionadas con las pruebas o testing, la visualización de código y capacidades de modelado.
Podrás acceder a la información general de Feature Pack 2 en este enlace. Recuerda que Feature Pack 2 incluye las características añadidas en Feature Pack 1.
Si ya has instalado Feature Pack 1, entonces deberás acceder y leer detenidamente la siguiente información.
Si quieres acceder a la página de descarga de MSDN, haz clic en este enlace.
Nota: Es posible que a la hora de instalar Feature Pack 2 aparezca un aviso de que es necesario instalar un prerequisito para Visual Studio 2010 (aquí [KB204773]).

A estas alturas, casi nadie desconoce el alcance que tuvieron las palabras de Bob Muglia en el pasado PDC acerca de Silverlight y el ya comentado hasta la saciedad HTML5.
Tanto es el revuelo formado en Internet, que Microsoft se ha visto obligada a crear un evento especial para tratar el futuro de Silverlight, el cuál fue meramente un espectador durante casi todo el PDC, motivo también que ayudó a alimentar los rumores.
En aquellas palabras, muchas personas quisieron ver que Microsoft apoyaba abiertamente a HTML5 en detrimento de su hijo predilecto Silverlight. En ese punto, nos podemos imaginar que la noticia y el mal entendido de sacarse de contexto una frase de toda la presentación (al menos así lo entiendo yo) corrió de mala manera por la red.
Sigo pensando en HTML5 como una revolución para la Web, pero no por ello descarto ni nunca lo he hecho (incluso con los rumores) a Silverlight como un socio ideal en esta aventura (al igual que otras tecnologías).
La gente tiende a enfrentar en lugar de unir. Que exista HTML5 es bueno, que haya interés por él, también. Que Silverlight evolucione también lo es al igual que otras tecnologías de otros fabricantes (no sólo de Microsoft). Tan sólo debemos esperar a nuestra oportunidad y utilizar esas tecnologías.
El caso de todo esto es que el próximo 2 de Diciembre, a las 9:00 AM hora de Seattle [Pacific Time Zone] (18:00 horas España sino estoy ahora equivocado), tendrá lugar un evento gratuito y abierto en el que se hablará de todos aquellos aspectos que tienen que ver con Silverlight.
En ese evento, Scott Guthrie nos explicará los movimientos de Microsoft de cara al futuro de Silverlight, y nos tranquilizará a todos respecto a si se va a dejar morir y si se va a seguir con esta tecnología a muerte (voto por la segunda opción al igual que tú).
Si puedes asistir presencialmente al evento en Redmond (Seattle - USA), felicidades, si eres como el resto de mortales, entonces te tendrás que contentar con asistir en modo online como espero poder hacerlo yo.
Para asistir presencialmente u online, deberás registrarte en la web de registro de Microsoft. Si quieres seguir el evento por Twitter, haz clic en este enlace.
Nota: Recuerda que el evento completo durará cerca de 200 minutos.

Lo que me gusta de los blogs es que la gente puede departir, debatir, comentar y opinar respecto a las diferentes entradas que los bloggers escribimos.
Me gustaría que fueran más los comentarios que aparecen, más que nada porque estoy convencido y seguro de que todos tenemos algo que decir casi siempre, pero muchos no se atreven a hacerlo y es una lástima.
Sin embargo, he tenido la fortuna de leer un comentario en una entrada de Rodrigo Corral (que por otro lado recomiendo leer) en la que María Cecilia PeTri preguntaba algunos aspectos acerca de la motivación.
María preguntaba acerca de la motivación y en su caso concreto, en un proyecto con Scrum y un equipo de personas concreto.
Sus preguntas son sobre todo acercade si se debe recompensar al equipo de desarrollo que cumple sus objetivos en plazo o no.
Aunque en un principio pensaba responder en el blog de Rodrigo, posteriormente pensé que igual su comentario se merecía una entrada en mi blog, en el cuál ya he tratado en alguna ocasión el tema de la motivación.
Antes de comenzar a tratar la pregunta de María y mis respuestas, haré alusión a la entrada que escribí en Julio del 2008 acerca de el valor humano, la motivación y el sentirse valorado.
Indudablemente la motivación es fundamental, pero ojo con crear precedentes.
No es lo mismo recompensar por un proyecto que es un bloc de notas como el de Windows que por un proyecto estratégico para la compañía o por un proyecto de índole especial o incluso por un proyecto donde de antemano se sabe que requerirá un esfuerzo extra.
Esto debe ser tenido en cuenta siempre y los premios deben ser planteados como excepcionalidad siempre.
María en su intervención hacía el siguiente planteamiento:
¿Cómo recompensarían al equipo cuando terminan la iteración antes de tiempo? Este planteo surgió del equipo luego de varios sprints con los items cumplidos en tiempo total menor al estimado (Usamos SCRUM) Este planteo de solicitar recompensa surgió del equipo luego de varias iteraciones con los items terminados en un tiempo total menor al estimado.
a)¿Sería apropiado recompensar? ¿A individuos o al equipo?
b)¿Qué clase de recompensa sería apropiada? Dinero? Regalo?
c)Ante reiteradas oportunidades debería replantearse si la estimación fue hecha adecuadamente?
d)¿Debería esperarse a efectuar una revisión de calidad de los items cumplidos, para luego recompensar?
e)¿Debería realizarse una relación entre items cumplidos Vs Items defectuosos para luego recompensar? (por ejemplo, items que el product owner haya sugerido, y estos hayan sido, dependientes de otros items aun no incluidos o items definidos de forma que no fuera posible cumplir, u otro defecto que haya imposibilitado el desarrollo del item, aunque al momento de la planificación haya parecido apto.)
f) Cuando un miembro termina antes de tiempo, tiene la costumbre de ayudar a sus compañeros a terminar sus items. Y esto colabora con que el equipo completo termine antes de tiempo. En este caso ¿se debería premiar al individuo? ¿al equipo?
g) Otra posibilidad de recompensa es retirarse antes de la oficina el viernes.
Agradecería todas las sugerencias sobre este planteo. Gracias por el interés.
Voy a tratar de dar mi opinión al respecto, opinión que espero respete todo el mundo y que quizás alguno comparta en todos o en alguno de sus puntos, y que quizás otros no vean de esta manera.
Punto a): Por un lado, si varios sprints se cumplieron en un tiempo menor del estimado, es posible que lo que haya fallado es la estimación.
Por otro lado, no soy partidiario de recompensar los sprints finalizados, sino en su caso y al final del todo, el proyecto finalizado, que es diferente.
Respecto a premiar o recompensar a individuos o al equipo, creo que la pregunta contiene indirectamente su propia respuesta.
Si premias al individuo, estás sugiriendo una competición entre ellos que puede ser positiva y dañina al mismo tiempo, mientras que si incentivas al equipo estás valorando el trabajo en equipo y la consecución global de los objetivos.
Yo soy un fervoroso amante del trabajo en equipo.
En un equipo siempre habrá individuos más adaptados o más competentes que otros en diferentes ramas o tareas, pero sin el trabajo de todos, no se podrán conseguir los objetivos, y eso cuenta también.
Si no estás contenta con el equipo, haz como los equipos de futbol a final de temporada, cambia a los individuos no aptos para otros proyectos o gestiónalo de otra manera.
A veces una persona rinde más en un puesto que en otro, y esa visión es responsabilidad también del jefe de proyecto.
Si uno sabe apretar tuercas mejor que otro no le ponga a clavar clavos. A lo mejor clava clavos muy bien, pero donde se le sacará mejor provecho es en apretar tuercas. Quizás convenga que aprenda a clavar clavos, por lo que es seguro que al principio lo hará decentemente pero no suficiente y poco a poco vaya ejecutando su tarea de forma más brillante.
¿Es esa persona mejor que otra o hemos sido los responsables del equipo los que no hemos sabido sacar el máximo provecho a cada componente del equipo?. ¿Entendemos los límites de cada integrante del equipo y dónde desempeña mejor sus funciones o no debemos valorar a todos los integrantes del equipo por igual y mirar más sus conocimientos y limitaciones y en base a ellas valorar?.
Como ves, hay que hacer autocrítica también y a veces la culpa puede ser del director de orquesta que valora injustamente a cada miembro del equipo o no es consciente del rol que le está dando.
Punto b): Hablaré de mi experiencia una vez más.
En una ocasión y sin venir a cuento, a mí me regalaron un cheque para comprar lo que quisiera en unos grandes almacenes.
Eso ocurrió en Irlanda. En España no lo he visto nunca (puede haberlo pero no lo he visto nunca).
Hablando de ese mismo pais, comentaré algo que he contado en privado a mucha gente.
Tuve la oportunidad de conocer a algún manager de Oracle cuando estuve viviendo en aquel pais y me comentaron un día lo que hacían internamente.
El responsable del equipo tenía una bolsa de dinero mensual que administraba entre todos los miembros del equipo.
Cada responsable era el dueño de ese dinero y podía hacer con él lo que considerara oportuno (con lo que se considera un buen uso del mismo claro está).
Me contaron varias anécdotas todas muy dispares.
Uno de ellos prefería llevar todos los Viernes al final del trabajo a sus empleados (compañeros) a tomar pintas de cerveza. De esa manera estaban conversando en un ambiente más fluido y posiblemente desinibidos por el alcohol salían temas que de otra forma nunca se tratarían y ayudaban a mejorar el ambiente y resolver enganchones entre la gente, mejorar temas relativos al día a día, etc.
Otros managers preferían utilizar ese dinero en una comida o cena al final del mes con todos los integrantes del equipo.
Otros llevaban a la gente de fin de semana a algún sitio.
Algunos managers por su lado, hacían estas prácticas con independencia de los resultados. Otros sin embargo, no utilizaban ese dinero si el equipo no había logrado los objetivos.
Como podemos ver, cada responsable debe saber como gestionar este tema, pero siempre habrá daños colaterales.
Por ejemplo, un equipo sin premio habiendo integrantes que han cumplido es injusto para esos integrantes del equipo que han conseguido los objetivos marcados.
Del mismo modo, un equipo con premio habiendo integrantes que no han cumplido en absoluto, es injusto para esos integrantes que chupan rueda.
¿Qué recompensa es la más justa?
Siempre el tema económico es el más práctico porque para uno beber pintas será lo adecuado, mientras que para otros lo será tener una gratificación que le ayude a comprar ese gadget que había visto en la tienda.
Una vez más, lo más obvio es sondear al equipo, pero siempre y cuando se logren los objetivos, porque si lo haces antes pueden creer que se les va a gratificar sea cual sea la meta lograda.
En mi caso particular, yo siempre trato de hablar con la gente para ver que le gusta a cada uno, y así me hago una composición de lugar, pero es complicado y delicado tratar este tipo de temas.
No obstante, este punto tiene tras de sí un punto extra adicional que no se trata en muchas empresas, y es la de motivar al equipo.
No todas las empresas están dispuestas a llevar a cabo la práctica de las recompensas y mucho menos reservan una partida presupuestaria para este tipo de acciones.
Además, recuerdo una empresa española famosa en la que trabajé y con la que llegué al acuerdo de que si terminábamos en fecha un proyecto x recompensarían al equipo (10 personas) con una comida.
El proyecto se acabó y la comida nunca se produjo.
El resultado fue la desbandada de muchos de aquellos empleados a otras empresas.
Las promesas son para cumplirlas, sino, el empleado deja de creer y confiar en su propia empresa, así que ojo también con lo que se promete.
Punto c): Esta pregunta no la respondo porque no la entiendo.
Punto d): No soy partidiario de recompensar un conjunto de items y sí el proyecto.
De nada me sirve que un proyecto de 20 items (por poner un ejemplo mínimo pero esclarecedor) tenga 19 items de una calidad impresionante si al final el item pendiente hace que el proyecto fracase.
Un proyecto es un proyecto, y los items son partes indivisibles del proyecto que todas ellas juntas conforman el proyecto en sí.
Todos los items deben ser correctos y poseer la calidad y consecución concreta. Si fracasa un sólo item, el proyecto ha fracasado.
Punto e): Comparar items satisfactorios vs items defectuosos no es en mi opinión una medida adecuada.
Puede servir para detectar problemas o personas que no cumplen sus objetivos adecuadamente, pero nunca se deberían tomar para motivar o desmotivar.
Quizás, una persona que no cumpla sus objetivos adecuadamente requiera de una atención especial.
Quizás haya que motivarla de una forma diferente, o simplemente explicarla porqué lo hace mal y enseñarla a hacerlo bien.
Hay una frase del filósofo Lao-Tsé que decía: "Si das pescado a un hombre hambriento, le nutres una jornada. Si le enseñas a pescar, le nutrirás toda la vida."
Con esto quiero argumentar que una persona necesita a veces ser enseñado para que sea autónomo.
Si el programador resuelve items que no estaban bien argumentados de inicio y sale adelante con ellos consiguiendo unos objetivos satisfactorios, es de agradecer, pero es en realidad el trabajo del programador.
Si es un fallo del Product Owner, igual al que hay que llamar la atención es al Product Owner, aunque espero que en ese caso, el Product Owner haya recibido de ese programador el feedback de que ese item estaba mal planteado.
Para la consecución satisfactoria del proyecto, los requerimientos deben estar bien cumplimentados y los items bien identificados, además de ser abordables y coherentes.
Punto f): Si un miembro termina antes de tiempo puede deberse a dos causas:
La primera que sus items están mal dimensionados.
La segunda que es una persona muy válida y extraordinaria.
En este punto, esa persona siempre podrá realizar diferentes tareas que sean del provecho personal o del equipo.
Puede utilizar ese tiempo para mejorar lo que ha realizado, auto-formarse, buscar mejoras, ayudar a otros compañeros, llevar a cabo tareas que se están dejando de lado en este momento pero que podría ir echando un vistazo, etc.
Lo más importante para mí en este caso, es que esa persona esté a gusto desempeñando esas tareas extra y que focalice en primer lugar sus esfuerzos en ayudar al equipo a conseguir las metas marcadas, y si las metas van por buen puerto, que realice tareas que le satisfagan y motiven.
Punto g): Retirarse antes de la oficina el viernes no me parece una recompensa adecuada.
Considero que cada integrante debe hacer sus horas semanales acordadas y si las ha hecho con exceso y ha terminado sus tareas, entonces es cierto que se puede ausentar, pero si ha terminado sus tareas a tiempo pero no ha cumplido sus horas semanales no tiene porqué ausentarse.
En Alemania por ejemplo está mal visto que la gente se quede más tiempo del que debe. Las tareas a acometer y los trabajos a desempeñar deben ser factibles, en caso contrario estarán mal dimensionados.
Una vez más, pondré como ejemplo mi experiencia en Irlanda, y es que cuando quería quedarme un rato más en el trabajo mis compañeros (irlandeses) tiraban de mí y me decían que no, que ya había cumplido.
Me chocó ver que en algunos paises no está bien visto hacer más horas (a excepción de casos muy especiales como es lógico).
El responsable del equipo debe saber qué hace con su gente y como la gestiona.
Yo he dado días libres a integrantes de mi equipo si veo que la persona cumple y que a lo mejor tiene que hacer asuntos personales, no se encuentra bien, o cualquier otro motivo.
En caso contrario, prefiero que esté trabajando echando un cable y si llega el caso que se vaya a casa antes que los demás, pero intentando evitar crear malos hábitos y comparaciones que no generen buen clima en el equipo.
Es muy difícil gestionar a las personas de un equipo y muy importante crear sinergias, ser claros y cumplir las promesas.
Espero que esta entrada genere un interesante debate acerca de cómo creéis que se debe motivar al equipo de desarrollo, así como en responder las preguntas que María hacía, ya que creo que son preguntas que nos podemos hacer con cierta frecuencia aunque no lo parezca.
El próximo 24 de Noviembre tendremos de 19:00 horas a 21:00 horas un evento en MAD.NUG que tratará sobre una cuestión prácticamente sin respuesta, esa que trata sobre la migración de aplicaciones VB6 a .NET.
El ponente seré yo (valga la redundancia), y ya de partida diré que estoy seguro que no nos pondremos de acuerdo al 100%, pero sí quiero que sirva este evento para que contemos entre todos las experiencias en las que nos hemos encontrado y las posibles soluciones que existen en el mercado.
Pero como de soluciones no sólo se vive, también abordaremos cuestiones de índole general con las que me he enfrentado a lo largo de todos estos años (espero que la gente que participe se anime a contar las suyas personales e intransferibles), cuestiones que seguro que muchos nos hemos planteado, y sobre todo, lo más importante, errores que hemos cometido o aspectos que a lo mejor no tuvimos en consideración el día que abordamos un análisis sobre un proyecto de VB6 y su deseo de migrar a .NET, porque... ¿es migrar o no lo es?, ¿es necesario realizarlo o mejor mientras funcione no lo toques?, ¿es obligación debido al posible futuro soporte de VB6 en los nuevos sistemas operativos de Microsoft o no hay riesgos?, ¿pasar nuestras aplicaciones de VB6 a .NET es un riesgo o una inversión y una oportunidad?, ¿estamos perdiendo algún tren si no pasamos de .NET a VB6?, ¿podemos estar preparados con nuestros desarrollos de VB6 para las tecnologías entrantes?... etc etc etc.
La realidad del evento es que yo ya hace mucho tiempo que pensaba contar algo de esto, e incluso estuve tentado en más de una ocasión en escribir un libro sobre este tema, pero el tiempo pasa y lo que está en tu cabeza no lo plasmas en ningún sitio hasta que en Twitter salió una discusión al respecto de la migración de VB6 a .NET y entonces me animé a escribir una entrada en mi blog... cada vez que migrar una línea de código de VB6 a .NET se muere un gatito en el mundo.
Obviamente no es así, pero sí es cierto que hay mucho temor a que eso ocurra. Esperamos resolver las posibles dudas problemas y temores en la próxima sesión.
Me gustaría prometeros que la sesión será interesante, con esa intención la abordaré, pero será más interesante si nos apuntamos cuanta más gente mejor.
OS ESPERAMOS
Sobre el evento, se realizará en primer lugar en Madrid (evento presencial).
De acuerdo a como resulte, es posible que se realice online posteriormente (esa es la idea), e incluso quien sabe si extensible a más ciudades o si con el online serviría,... lo que está claro es que en Madrid podremos ver como resulta (una especie de prueba piloto) y nos servirá para probar y tomar feedback. El objetivo es mejorar el evento y extenderlo para que pueda llegar a cuanta más gente mejor.
Referencias:
Regístrate para el evento
En el pasado PDC. el equipo de Windows Azure actualizó dos documentos sobre la tecnología Azure y que ya es comúnmente conocidos.
Los documentos, de David Chappell, tienen que ver con la introducción de Windows Azure (2.3 Mb) que podrás obtener en este enlace.
El otro documento tiene que ver con la introducción de la plataforma Windows Azure en sí (2.4 Mb) que también ha sido redactado por David Chappell y que podrás obtener en este otro enlace.
Acerca del ya conocido problema de mal interpretación de las palabras de Bob Muglia en el pasado PDC, sale al paso Scott Guthrie puntualizando las palabras de Bob con el fin de aclararlas definitivamente de cuál es la estrategia de Microsoft respecto a Silverlight y el futuro próximo.
En esta entrada, Scott no se corta y habla de HTML5 y Silverlight principalmente.
Hay diferentes reacciones en la red al respecto de las palabras de Bob, incluso en geeks, tal y como se puede leer en el blog de Eduard y de David Salgado.
Es evidente que todavía es pronto para dar diagnósticos en tanto en cuanto a HTML5 por ejemplo cuando aún está siendo elaborado, y mucho menos sobre Silverligh sobre el cuál se está trabajo y del que yo aún hoy, no haya oído decir que ha sido descontinuado, pero como bien dice David en su post, hablar de HTML5 es gratis, y si se trata de desprestigiar a otras tecnologías como el caso concreto de Silverlight, pues entonces hay bola extra, así que todos opinamos como si estuviera ya HTML5 maduro en el mercado cuando en realidad es un bebé que está asomando por el útero de la madre.
Podréis acceder a la entrada de Scott en este enlace.

Pasan los días, las semanas, y apenas oigo hablar de Microsoft Office 365.
Microsoft Office 365 está compuesto por 4 productos (Microsoft Office Professional Plus, Microsoft Exchange Online, Microsoft SharePoint Online y Microsoft Lync Online).
Quizás el gran desconocido del público sea Microsoft Lync Online, que no es otra cosa que un servicio de comunicaciones que permite que la gente interactúe entre sí. De esta manera, las personas de una organización o empresa se pueden comunicar a través de mensajería, audio y video, manteniendo conferencias web y compartiendo información.
El todo en uno, el 365, está formado por estos 4 productos principales para la empresa.
De esta forma y por un módico precio, la empresa puede tener lo que necesita de cara a la gestión general por un precio anual bajo, ahorrándose costes de infraestructuras, equipos, etc.
Se trata de una idea genial por parte de Microsoft porque aglutina las acciones y necesidades generales de cualquier pequeña y mediana empresa.
Microsoft Office, Microsoft Outlook, SharePoint, etc... son las herramientas de gestión general.
Evidentemente existen preguntas que responder, y para ello, lo mejor es acudir a la FAQ de Microsoft sobre Office 365.
Si lo que quieres es una hoja con las características de Office 365, entonces te invito a visitar este enlace.
Por otro lado, el servicio hoy por hoy está en fase beta, pero podemos intentar probarlo y comprobar sus funcionalidades desde este enlace.
Para acceder a la página Web de Office 365, accede a este otro enlace.
Como sabrás, la beta de Internet Explorer 9 está disponible para su descarga e instalación desde hace ya algunos días.
No obstante, quizás no sepas o dudes de las mejoras que hay entre Internet Explorer 7, Internet Explorer 8 e Internet Explorer 9 (pese a estar aún en beta).
Si esto es así, entonces te sugiero visitar una página web en español que muestra de forma general y gráfica la comparación entre las diferentes versiones de Internet Explorer.
Podrás acceder a esta tabla comparativa en este enlace.
En MSDN Magazine, tenemos en este mes de Octubre un nuevo artículo en inglés dentro de la sección CLR Inside Out que aborda las nuevas características y la mejora del rendimiento dentro de Silverlight 4.
El artículo escrito por Andrew Pardoe y Justin Van Patten, hace un pequeño recorrido del porqué de los cambios y en qué aspectos se han aplicado esas mejoras.
Podrás acceder a este artículo en
este enlace.

Charles Petzold ha publicado un libro electrónico o ebook gratuito, en inglés y en formato pdf sobre Windows Phone 7.
El libro se titula Programming Windows Phone 7, y puede ser accedido
este enlace (13 Mb)
También podemos acceder a los ejemplos del libro en
este otro enlace (5 Mb)
El libro está dividido en 24 capítulos donde trata toda la temática general de Windows Phone 7 que un programador debe conocer.
Espero que te guste el libro tanto como a mí me ha gustado.

Interesantísima lectura y por que no decirlo, OBLIGADA la que ha publicado Microsoft recientemente y que nos explica (en inglés), cómo trabaja Microsoft SQL Azure por "dentro".
Para muchos, pasa desapercibido el funcionamiento de Microsoft SQL Azure, pero gracias a este artículo, eso pasa o debe pasar a segundo plano. La lectura de este artículo no obstante, requiere en mi opinión de algunos conocimientos medios-altos sobre SQL.
Si tienes curiosidad por saber cómo es Microsoft SQL Azure por dentro, entonces deberás leer este artículo
en este enlace.
J. D. Meier ha publicado un documento en formato pdf y en inglés con información acerca del desarrollo de aplicaciones Software para Windows Phone.
Este documento contiene información útil e interesante para los desarrolladores (cursos, tutoriales, videos, etc).
Podrás acceder a este documento en el blog de
J. D. Meier o si lo prefieres, acceder al documento pdf de forma directa en
este enlace.
J. D. Meier ha publicado un documento pdf en inglés que contiene información de relevancia sobre ADO.NET y Entity Framework.
Esta información es especialmente útil para los desarrolladores que quieren acceder a recursos e información (cursos, videos, tutoriales, etc) sobre ADO.NET.
Podrás acceder a este documento en el blog de
J. D. Meier o si lo prefieres, al propio documento pdf directamente en
este otro enlace.
J. D. Meier ha publicado un documento en formato pdf y en inglés con el título
Windows Azure Developer Guidance Map.
Esta guía resulta especialmente útil para los programadores que quieran aprender a programar aplicaciones bajo Windows Azure.
El documento tiene multitud de enlaces con tutoriales, videos e información sobre Windows Azure.
Podrás acceder a este documento en el blog de
J. D. Meier o acceder si lo prefieres al propio documento de forma directa
en este otro enlace.