MLB.com gameday Enhanced
Ya desde hace varios años (como 4 o 5 si no mal recuerdo) el sitio de la Major League Baseball (MLB), tiene una aplicación donde se puede ver en tiempo real como se va desarrollando un partido, lance por lance, con estadísticas y hasta el lugar en el que cada lanzamiento ha llegado al home pasando por el recuadro imaginario de la zona de strike, todo esto gracias a un sofisticado sistema que utiliza cámaras de alta velocidad que graban docenas de imágenes por cada lanzamiento, utilizando estas imágenes se determina la velocidad y trayectoria.
Pues bien, este año han lanzado la nueva beta de su aplicación (supongo que la liberación será en la Serie Mundial), y es sorprendente!!!!. A diferencia de la anterior, hoy se puede ver la trayectoria animada (curva, recta, etc.), la velocidad, el punto de origen del lazamiento, y se pude cambiar la vista a la del pitcher o la del bateador. Algo muy bueno es que también se puede ver el historial con todos los lanzamientos que ha recibido el bateador en cada turno durante el partido

Más información en el blog del producto:
http://gameday.mlblogs.com/
… o puedes ver la aplicación en acción en vivo durante los partidos de esta postemporada.
Top 10 Web 2.0 Attack Vectors
Poco se ha hablado de las vulnerabilidades de seguridad de AJAX y otras técnicas que dan vida al Web 2.0 como lo son los Web Services y los feeds de RSS o ATOM. Pues bien, en este artículo se mencionan las 10 principales áreas de ataque:
Comparando peras con manzanas

Eso es justo lo que acaba haciendo esta serie de videos publicados en el sitio de Microsoft donde se compara un entorno de desarrollo “todo terreno” como Visual Studio 2005 con un software clara y explícitamente creado para crear sitios Web como lo es Adobe DreamWeaver.
Personalmente utilizo frecuentemente los 2 como complementos, aunque al utilizar Visual Studio, es para desarrollar la lógica de negocios de las aplicaciones, base de datos, instaladores, etc.; y en el caso de DreamWeaver para crear las interfaces HTML, ya que desde mi punto de vista sigue siendo bastante superior en ese aspecto.
Definitivamente es una comparación bastante desafortunada porque se mezclan aspectos de plataforma que nada tiene que ver con la IDE, como por ejemplo decir que con Visual Studio se pueden crear archivos de instalación para un sitio Web (cosa que es verdad, pero que es una característica del .NET Framework).
En fin, un esfuerzo de Microsoft para evangelizar a desarrolladores y programadores desorientados hacia su plataforma
¿Programador o Desarrollador?
Usualmente se creería que “programador” y “desarrollador” son casi sinónimos en esta industria de las TI, pero no es así. Este artículo habla a detalle de las pequeñas grandes diferencias entre unos y otros, que se podría resumir utilizando los subtítulos del post:
- Developers have some knowledge of the domain and the business
- Developers care about maintenance burden
- Developers know that work methods are more important than technical chops
- Programmers try to solve every problem by coding
- Developers seek repeatability, programmers like one-off heroics
- Programmers like complexity, developers favor simplicity
- Developers care about users
- Developers like to satisfy a need, programmers like to finish
- Developers work, programmers play
IMHO, todo se podría resumir en que un desarrollador es un programador profesional, llevando al siguiente nivel sus habilidades y conocimientos, aunque finalmente el placer de escribir unas cuantas líneas de código para resolver un problema siempre estará allí
Improving .NET Application Performance and Scalability

Uno de los aspectos más importantes a considerar en el desarrollo de una aplicación es el performance y la escalabilidad, sin embargo, este tema no es considerado con la seriedad que amerita y después es la causa de grandes dolores de cabeza ya que los resultados de operar un desarrollo no son los que se esperaban.
Casi siempre son errores de diseño, producto de un análisis apresurado o que no consideró todos los factores, y en el momento en que se detectan los problemas, son demasiado costosos de corregir, ya que el tiempo que toma reparar un error, crece exponencialmente mientras más avanzado este el desarrollo del proyecto. Por ejemplo, si se detecta un error en los algoritmos o en la lógica de negocios de una aplicación en la etapa del deployment, la inversión necesaria para hacer la corrección puede tomar semanas, mientras que si ese mismo error se hubiera detectado en la etapa de diseño podría tomar solo algunas horas.
Lo cierto también, es que realizar un buen diseño y planeación requiere de un profundo conocimiento y amplia experiencia en proyectos similares para lograr tener éxito sin demasiados contratiempos, y el adquirir esa experiencia algunas veces depende del tipo de proyectos en los que se participa más que de la capacidad de la persona.
Afortunadamente, hay algunas formas de aprender todo esto en un proceso que no sea tan doloroso y sea inclusive un poco más rápido que hacerlo por pragmatismo. Y es justamente la importancia de artículos (o casi mini-libros) como el que les pongo a continuación.
Si bien está enfocado en la plataforma .NET, cubre prácticamente todos los aspectos para diseñar, desarrollar y hasta optimizar una aplicación que logre un performance y escalabilidad correctas. Es un poco extenso, pero sin duda vale la pena leer poco a poco y para referencia:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenet.asp

