PANICO! en la comunidad de desarrollo de Microsoft

Microsoft Logo outiside Office Al finalizar la gran demostración de Windows 8 (Windows 7 con una interfaz mas avanzada de lo que existe para Windows phone) se hablo de la posibilidad de crear aplicaciones para este sistema operativo usando HTML5 y JavaScript. Como HTML5 tiene una gran lista de características que amenazan la continuidad de Flash y Silverlight las especulaciones crecieron de manera exponencial, el pánico se extendió a través de comentarios por muchos de los foros de la comunidad de terceros y todo lo que se puede “escuchar” es rumores acerca de la muerte de Silverlight y de la plataforma .NET en favor a HTML5/Javascript.

Lo más curiso es que toda esta novela se genero luego de un comentario tal vez inofensivo de mano Julie Larson-Green quien mientras demostraba la nueva interfaz cargando una aplicacion que mostraba indicaciones del tiempo y sus pronosticos esbozo las palabras en ingles “This is written with our new development platform, which is based on HTML5 and JavaScript” ahora en español “Esta aplicación esta escrita en nuestra nueva plataforma de desarrollo que esta basada en HTML5 y Javascript” lo que ella no menciono fue que esta plataforma sera el remplazo a futuro de .NET (que quizas lo sea dependiendo de como evolucione el Internet) lo que tampoco dijo es que sera la plataforma preferida para programar en Windows 8, solo que la aplicacion que estaba mostrando fue desarrollada usando la nueva plataforma en la que estan trabajando y que entre las nuevas caracteristicas del Sistema Operativo ahora puedes usar la tecnologia web para crear aplicaciones de escritorio.

Luego de esto se han desentrañado muchas opiniones tanto oficiales como de parte de empleados de Microsoft, entre tanto la gente detras del Proyecto Jupiter ha comentado que todavia estan vigientes y trabajando para salir a la luz una vez Windows 8 salga al mercado.

Para los que no están enterados, Jupiter es una nueva librería de interfaz para Windows 8 que permitirá a los desarrolladores crear aplicaciones “inmersivas” (ni idea a que se refieren con este termino) usando un enfoque basado en XAML proveniente de las nuevas herramientas de Microsoft. Jupiter permitirá elegir varios lenguajes de programación entre ellos: C Sharp, Visual Basic, C++ y por supuesto tendrá soporte para aplicaciones nativas desarrolladas con Silverlight.

Basado en lo que pude ver de la presentación de Windows 8, Microsoft quiere competir con Google en el Nicho de los sistemas operativos basados en Web sin perder el chivo o el mecate, entre otras palabras ofrecerá soporte con esta nueva UI basada en Mango, ofrecerá esta nueva plataforma de desarrollo que permitirá Unificar el escritorio con Aplicaciones de Tecnología Web (HTML 5 / Javascript) y a su vez ofrecerá soporte a aplicaciones que no estén diseñadas con tanta novedad (En el vídeo se puede observar como Windows 8 hace un fall-back para ser compatible con aplicaciones “viejas” hasta muestra la barra del menu de inicio una vez ejecutada la aplicación) o que simplemente no compitan en este nicho definiendolo mejor como aplicaciones cuya disposición o paradigma sea imposible tener una presentación web.

Es claro que hay muchas opiniones al respecto y de gente importante en el nicho de bloggers sobre Microsoft, tambien estan las de muchos otro grupos cuyas interrogantes son validas y lamentablemente ocasionadas por la falta de comunicación que proviene desde las mas altas esferas de Microsoft, en mi opinión y dado a lo que he estado observando desde que Bill Gates dejo su puesto de CEO para dedicarse a la filantropía es que la Compañía ya no esta en postura de ataque o con rodilla en tierra como dicen por aquí, las estrategias han cambiado a patrones desconocidos y quizás pueda aceverar que dichas estrategias se han basado ultimamente en confunsión en vez de atracción por nuevos desarrollos y características de sus nuevos productos. Es lamentable ver al que una vez fue el mas grande y feroz adversario perder terreno por otras opciones, a la vez me alegro que este perdiendo terreno gracias a al impulso del Sofware Libre, es hora de aprovechar que el gigante esta tambaleando para acestar golpes que lo debiliten aun mas.

Me preocupa que dicha debilidad nos produzca retraso y quizás dirán “WTF!!”, pero mucho del impulso que ha tenido el Software Libre no solo proviene de las malas políticas de Microsoft y sus compañeros privativos, si no también por ser un adversario excelente, si somos un adversario pequeño solo nos importa mejorar y salir adelante para vencer, ahora es un tanto difícil saber que pasara una vez que hallamos derrotado al adversario y faltan algunos años para que esto sea una realidad pero lo que me no me gustaría es que se perdiera el ritmo por exceso de confianza.

Viendo esto desde otro punto de vista, si Microsoft y su equipo logran salir adelante con esto (Porque son conocidos por anunciar una cosa y publicar otra) tendrán una unificación con mucha cohesión, mayor inclusive de la que Google ha logrado con sus productos, es una batalla admirable la que estos contendientes están luchando (Google, Apple y Microsoft), con algunos anuncios de adquisiciones y modificación de posturas, Microsoft esta dejando por sentado que no quiere cometer los mismos errores que en el pasado y quiere tener posición a todo nivel ofreciendo productos de calidad y compitiendo con bajos precios (como Apple con su nueva versión de MacOS 10.7) tomando el control de todos los procesos.

Para finalizar les dejo unos videos de la Integración de estas plataformas:

Otro artículo Interesante sobre la Integración de XBox Live y Windows 8

Para reflexionar sobre todo esto, ¿Qué alternativas existen que se adapten a las 4 Libertades Básicas de la GPL que nos permitan unificar nuestra plataforma GNU/Linux con algún sistema operativo Móvil y/o plataforma de juegos o para DVR’s?, son libres de comentar al respecto.

Esta publicación toma mucho del contenido del post del amigo y entusiasta por Haiku-os Thom Holwerda en osnews acompañáda de mi opinion y otras adiciones sobre el tema.

Anuncios

Entropía de Fin de Semana


Domingo, uno de los dias de la semana que mas me gusta porque paso el tiempo dedicado a varias de mis cosas favoritas: dormir, leer, ver series / peliculas y algunas veces programo si me entusiasmo lo suficiente. Lo mejor del domingo es que no hay calendarios ni listas de tareas a seguir, el dia se toma como va llegando (1-5) y queria escribir sobre varias cosas que he venido realizando en la semana, nada estructurado o logicamente aplicable a un patron, solo aleatoriedad absoluta.

Desde el fin pasado he estado religiosamente viendo Capitulos de Haven, ya habia hablado de esto en posts anteriores y hace rato pude ver el capitulo 13 y final de la Primera temporada y quede deslumbrado por su calidad, definitivamente valido para terminar una temporada por buen camino, fue un placer ver a personajes de naturaleza pasiva revelelar su lado oscuro, asi como tambien encontrar respuestas a preguntas que desde el primer capitulo me venia haciendo, claro todo este esclarecimiento de misterios trajo a la vida a otros de mayor tamaño e intensidad, lo mejor de todo fue el final del capitulo, como audry parker reconoce quién es o quien cree ser y es abordada por otro agente del FBI quien dice ser ella misma, si este ultimo spoiler te parece totalmente incoherente te recomiendo que descargues toda la serie y mires detenidamente cada capitulo, pues si te pierdes un solo segundo tal vez quedes sin preguntas por responder.

Es realmente grato que Haven halla llenado el vacio que Stargate Universe dejo, pero no niego que me encantaria volver a ver cualquier cosa de franquicias como stargate, starwars y startrek. Cambiando el tema, otra de las actividades que ha tomado centro en mi esta semana es la creacion de Pradolabs, el blog promete, yo estoy bastante motivado a seguir escribiendo a diario para generar mas contenido que sirva para otros y el sitio promete en aceptación ya que en 3 dias de vida ha logrado ya una audiencia de Visitas diarias, poco, pero mucho para haber comensado solo hace 3 dias.

Hoy decidi tomarmelo un poco a la ligera en cuanto a la escritura, puesto que amaneci sufriendo con una vieja lecion en mi hombro lo que imposibilita un movimiento comodo a la hora de mover el mouse o simplemente pisar alguna teclas en el teclado, mi madre tambien ha comparecido ante el malestar de los riñones y segun me dice mi hermana esta confinada a su cama por el resto del dia y espero que no la semana completa, la idea de no poder salir, manejar y poder verla me entristece un poco, espero poder mover lo suficiente el hombro mañana para poder llegar a la oficina y taclear trabajo atrazado que tengo.

Dejando de lado el rant personal y dando vueltas por el internet me encontre con links interesantes, algunos videos impresionantes de la mano de THRU YOU, Noticias sobre Haven y su segunda temporada, blogs interesantes como makeusof, Electric Duncan y algunas noticias locas como que Microsoft gana mas por ingresos relacionados con Android que por su Windows Phone 7, bueno mejor dejo de escribir y me despido para darle descanso al hombro.

Bienvenido Prado Labs

Me encanta dar buenas noticias y aprovecho para informar que ha visto la luz el blog Prado Labs. Partiendo de una iniciativa propia y por razones diversas decidi crear este espacio para dar a conocer a la comunidad de software libre hispana (o por lo menos para los que no tenian ni idea de que esta herramienta existe) las bondades del PHP Framework Prado, sus excelentes prestaciones, su facilidad de uso, su excelente documentación y las grandes cosas que se pueden hacer con el.

No me voy a dedicar explicar aquí para que sirve Prado, diríjanse al sitio y día a día (la cual es la frecuencia que estaré publicando Posts mientras la Familia/Trabajo me lo permita) para ir enterándose de sus amplias capacidades. La comunidad detrás de Prado es pequeña comparándose con otros Frameworks y busco incorporar nuevos usuarios hispano-parlantes a la mezcla, ayudar a este proyecto crecer es uno de mis objetivos de aquí en adelante porque para mi es importante ayudar compartiendo esta herramienta que me ha dado bastante de comer.

Prado no es un Framework nuevo, esta vivo desde el 2004 y ha sufrido muchos cambios en el camino así como ha superado muchos obstaculos, colaboremos y compartamos las herramientas que nos facilitarán el desarrollo del futuro. Si alguno de ustedes tiene conocimientos sobre Prado y lo ha utilizado en proyectos diversos y tiene el espiritu, las ganas y el tiempo para echarme una manito eres bienvenido, solo dejame un comentario y conversaremos. Gracias.

SyFy – Haven / Mi nueva amante televisiva!

Seguramente mi mama cuando vea ese titulo se va a impactar y si; mi mama lee mi blog, algunas veces ha pillado cuando escribo cosas personales y es la primera en convocar una reunión tipo “intervención” cuando ve que las cosas se ponen intensas, pero apartando todo esto quiero confesarles algo que me ha estado molestando por varios dias, siempre he sido asiduo a ver las series de televisión de genero ciencia ficción, para nombrar unas pocas: La Franquicia StarGate, Fringe, Heroes, mucho de lo que SyFy ofrece en su programación, pero detesto cuando una buena serie es cancelada por el hecho de los raitings, es que los señores de traje y corvata nos saben o no se percatan que la tecnologia esta cambiando al mundo y ya no somos esclavos de ver los programas cuando son aireados por los canales, ya existen los DVR que permiten grabar la programación para verla luego y tambien estan los amigos de eztv que se dedican a montar los torrents con contenidos de las series en la web, entonces, con todos estos avances, como pretenden contar los raitings de la misma manera que se hacian años atras, ciertamente o la televisión evoluciona o se quedan en Oblivion.

SGU, Heroes, Flash Forward, Caprica, Jericoh por nombrar algunas entre las que mas me han dolido; pertencen a una lista mucho mayor de series que han sido canceladas por el hecho de bajos raitings y que tienen una historia increible que pueden ser explotadas creando capítulos nuevos. Bueno ya, dejando el despecho sobre SGU, he decidido reemplazarla por esta nueva serie llamada HAVEN, segun una traducción machucada de wikipedia que va mas o menos asi:

Haven is a supernatural drama television series loosely based on the Stephen King novel The Colorado Kid. The show, filmed on the picturesque South Shore of Nova Scotia, Canada, is an American/Canadian co-production.

Haven es una serie de televisión del genero dramatico supernatural basada ligeramente en la novela “The Colorado Kid” escrita por Stephen King. La serie filmada en la pintoresca costa del sur de Nueva Escocia en Canada es una co-produccion Americana / Canadience.

Shrewd and confident FBI agent Audrey Parker (Emily Rose) has a lost past and an openness to the possibility of the paranormal. When she arrives in the small town of Haven, Maine, on a routine case, she soon finds herself caught up with the return of “The Troubles”, a plague of supernatural afflictions that occurred in the town at least once before. If that was not enough to draw her in, she also finds a link that may lead her to the mother she has never known.

La perspicaz y confiable agente del FBI Audrey Parker (Emily Rose) tiene un pasado perdido y es de mente abierta en cuanto a las posibilidades de lo paranormal. Cuando arriba al pequeño pueblo de Haven, Maine, en la investigación de un caso de rutina se encuentra envuelta con el regreso de los fenómenos denominados “Los Problemas”, una plaga de eventos paranormales que ocurrieron en el pueblo años atrás. Si eso no fue suficiente para atraerla, encuentra pistas que pueden conducirla a encontrarse con su madre la cual nunca conoció.

Si por casualidad alguno de ustedes leyó “Colorado Kid” una historia intrigante, de corte detectivesco, con personajes únicos y llenos de misterio, escrita con la indudable Maestría de Stephen King y su pluma “despiadada”, me cautivo lo suficiente para que hoy día pueda recordar la agudeza de aquella reportera quien no se queda atrás para descubrir los hechos del caso y esclarecer esta historia tan sombría. Volviendo al tema, el año pasado fue fructífero para Haven, arranco temporada de estreno y le ha ido muy bien, ya para este año 2011 fueron encargados 13 episodios que estarán siendo transmitidos por TV.

Yo me he descargado la primera temporada completa y estoy haciendo malabarismos con el tiempo libre que tengo pues tengo en mira nuevos proyectos de vida que requieren de mi atención completa. Aqui les dejo Link para descargar Haven, espero la disfruten.

Haven, 1Era Temporada

Películas de Star Trek en HD

spock!
Definitivamente este post me define como un geek, si tener un blog no lo hacia ya desde hace rato y no me averguenza decirlo, soy un geek!, ya habiendo superado el hecho es bueno ir directamente al grano, me parecía realmente indispensable tener todas las películas de Star Trek a mano ya que crecí admirando cada capitulo que esa caja con imágenes en movimiento podía brindar, al mejor estilo de Sheldon Cooper me dedique a buscar los torrents para ir descargadolas poco a poco ya que por su altísima resolución, su gran peso y mi limitada conexión no puedo descargaras todas de una vez.

Adjunto les dejo el enlace para que descarguen los torrents y puedan finalmente disfrutar de estas obras de arte intergalacticas.

Enlace

La Revolución y las Iteraciones en C++

Cuando las novedades se introducen por primera ves a un espacio con metodologías planteadas y definidas adereszandola con años y años de uso crea una revolución de la que todo el mundo quiere formar parte, muchas veces impacta tanto que se vuelve una tendencia. Hay muchos casos que puedo nombrar por ejemplo: Cuando La Escudería McLaren introdujo la primera carrocería hecha de fibra de carbono provoco una locura, las otras escuderías se quejaron ante la FIA y esta colmo con investigaciones para acallar las voces inpugnantes de los competidores, nadie creyó que la fibra de carbono pudiera reemplazar al aluminio que para la fecha era el componente principal en la construccion de los vehículos, peor aun pensaban que este bólido se destrozaria volviéndose polvo al tener un accidente y profesaban esa teoría con tanto fervor que dieron por muerto a John Watson cuando tuvo su primer accidente en el MP4/1 al salirse del circuito de Monaco, la ironía del hecho es que si hubiese estado detrás de un vehiculo construido usando los materiales tradicionales no se hubiese convertido en el anunciante principal de esta nueva tecnología.

En la actualidad usar fibra de carbono en los autos de formula uno se ha vuelto una tendencia inexorable y dado el roll que posee la F1 de cuna tecnológica; cada vez es mayor la presencia de estos materiales en los autos comerciales o de consumo masivo ya sea de forma ornamental o como fuente principal reemplazando el uso de metales. Otro ejemplo palpable de este tipo de revolución la encontramos en el mundo del deporte, en las olimpiadas celebradas en México en el año 1968, la categoría de Salto Alto fue provista de un evento tan particular que termino creando una tendencia posibilitando el record olímpico de Javier Sotomayor que ostenta la marca de 2.45m. Dicho evento o mas bien técnica fue denominada “the flop” o “the fusbury flop” y su creador Dick Fusbury la desarrollo al verse limitado por la que le fue impuesta por sus entrenadores (Originalmente utilizaba las técnica de las tijeras) permitiéndole ganar y romper el record de la epoca. Su técnica es actualmente utilizada por la gran mayoría de saltadores profesionales revolucionando el deporte.

Pero que tiene todo esto que ver con programación y específicamente con la manera en que iteramos en C++, desde mi punto de vista y experiencia tiene amplia relación, debido a que confiamos en el conocimiento impartido por nuestros profesores y este conocimiento moldea la manera en la que evolucionamos profesionalmente, particularmente crecí con la idea de iterar a traves de ciclos usando sentencias for y/o while dependiendo de los casos que se presentaban, estas sentencias permiten recorrer los arreglos secuencialmente, uno a uno desde el comienzo hasta el final permitiendo la elección de la información que queremos obtener o simplemente ejecutar mas sentencias. La manera en que iteramos depende intrisecamente del tipo contenedor que utilicemos y aqui es donde se desarrolla lo interesante, yo veo la iteracion STL (Standard Template Library) como la iteracion rockstar, algunos al leer esto se reiran de mi pero es porque estoy acostumbrado al modelo tradicional:

using namespace std;

vector arreglo;

arreglo.push_back(10);
arreglo.push_back(24);
arreglo.push_back(13);

for(int y=0; y<arrelgo.size(); y++)
{
cout<<arreglo[y]<<" ";
}

Y desde luego nuestro modelo rockstar:

using namespace std;

vector arreglo;
vector::iterator iterArreglo;

arreglo.push_back(10);
arreglo.push_back(24);
arreglo.push_back(13);

for(iterArreglo = arreglo.begin(); iterArreglo != arreglo.end(); iterArreglo++)
{
cout<<*iterArreglo<<" ";
}

Pero, ¿Cual es la diferencia?, simple, en el primer ejemplo usamos una iteración un un ciclo “for” comun, declaramos un vector y le incluimos 3 valores, al “for” le indicamos que va a comenzar desde 0 y aumentara ese numero siempre y cuando el valor de “y” sea menor que el tamaño del arreglo.

En el segundo ejemplo es básicamente lo mismo pero trabajamos con un iterador declarado y el ciclo “for” comenzara desde el primer valor del arreglo hasta el final, aumentando la posición del mismo. No hay mucha diferencia, algunos dicen que el segundo ejemplo es la _manera_ correcta de iterar, para mi viene siendo cuestión de costumbre debido a las experiencias pasadas (qbasic, pascal, c) lo bonito de la libertad es que podemos escoger cual de los dos utilizar. Ahora bien existen ciertas ventajas al usar iteradores siendo la mas importante la abstracción que se general al usarla y la posibilidad que nos brinda de accesar distintos contenedores sin importar el tipo de datos que guarden porque se tiende a observarlos como apuntadores limitados. Por supuesto no todo puede ser bueno y perfecto, hay que tomar en cuenta que estos no proveen un mecanismo para chequear los limites de iteración y desafortunadamente pasamos sobre el limite produciremos un Segfault. Aun quedan otras consideraciones que tomar en cuenta, pero si sigo extendiéndome mas terminaremos en una clase de “C++ For dummies” que no es lo que pretendía con el post.

Saludos, Axzel.

DOM, de manera sencilla y entendible

Antes de navegar en las profundidades del objeto XMLHttpRequest hay que explicar un poco el uso de otras herramientas que probablemente utilicemos para dar un mejor aspecto a la presentación de la aplicación que queremos realizar. DOM por sus siglas en ingles (Document Object Model) es nuestra interfaz de programación básica de aplicaciones que brinda un conjunto de objetos que nos permiten representar, dibujar o esgrimir código HTML y XML a su vez dándonos la posibilidad de acceder a ellos y manipularlos.

Si visitamos la Historia de finales de los 90 acerca del desarrollo web nos daremos cuenta de que se habla mucho de DHTML, si fue el boom de la época, pero ahora no es mas que un cumulo de técnicas que no deberían usarse y que solo se ajustan a la aplicación de efectos en Navegadores desactualizados. La utilización de DHTML en estos días esta sujeta a muchos sacrificios que no se previeron en su tiempo dorado, tales como dependencia de navegadores, falta de actualización de dichos scripts que fueron masificados y puestos en páginas a disposición de muchos desarrolladores que solo se preocuparon por la manera de Usarlos y no actualizarlos, lo cual vuelve un caos la aplicación si otros desarrolladores se unen a su mantenimiento sin contar que muchas de esas pequeñas grandes cosas estaban tan mal diseñadas y escritas que terminaban haciendo la pagina mas lenta, sucia y vulnerable con la actualización de los estándares.

¿Pero qué es DOM? Y ¿Qué puedo hacer con el?

DOM, es una manera de trabajar combinando XHTML y JavaScript o mejor digamos que es la capacidad otorgada por la interactividad de los dos lenguajes para que uno pueda acceder los objetos o elementos del otro. No hay mejor manera de explicarlo que con un ejemplo.

Digamos que tenemos cierta porción de Texto encerrada en un contenedor que queremos hacer invisible al ocurrir un evento.

El enlace llama a la funcion escrita en JavaScript “Esconder()” y este busca en el documento el elemento cuya id sea “porcionTexto” que es nuestra div y le coloque el estatus de visibilidad en “escondido” y de esta manera hemos accesado directamente el elemento y hemos modificado sus propiedades.

Cada tipo de Objeto DOM es único, inclusive si dos objetos se “ven” de manera idéntica en tu navegador, es importante que tres facetas definan el objeto per se, estas facetas son: ¿como se ve?, ¿Como luce? y ¿como se comporta?.
Estas facetas en el ámbito de la programación orientada a objetos se llaman, propiedades, métodos y manejadores de eventos.

Aqui les dejo una cheat sheet sobre la mayoria de los metodos de DOM o por lo menos los más usados. Por cierto tengo muchos cheat sheets y libros relacionados con el tema almacenados en casa a su disposición solo tienen que pedirlos de manera cortes. Saludos.