Ya está aquí el calendario tórrido de MVPs

Pues eso. A veces no sé cómo me convencen para estas cosas, pero al Maligno ninguno sabemos decirle que no.


El caso es que hemos hecho un calendario tórrido de MVP para el 2008. La idea es solidaria, claro, y todo lo recaudado se le entregará a la ONG «Human Care International» que trabaja en Nueva Delhi. Estamos cinco tutores de campusMVP, a ver si adivinas cuál es cual 🙂



Pues lo dicho: algunos/as podéis usarlo para alegrarse la vista todo el año, y otros/as para torturar a algún amigo que os caiga mal, jeje


En el blog Chema Alonso, alias el Maligno, MVP de seguridad, tenéis todos los detalles sobre cómo pedirlo. Os lo envían a casa y podéis pedir más de uno: es por una buena causa, así que animaos a comprar dos o tres, aunque luego lo ocultéis en un cajón o se los paséis a alguien en plan regalo envenenado.


¡Cuéntaselo a todos tus amigos! 🙂

Un vistazo al futuro próximo: HTML 5.0

Hace ya casi una década desde que apareció la actual especificación HTML 4.0, aunque no empezó a ser adoptada por lo principales navegadores hasta unos años más tarde, y hoy en día es prácticamente universal. Desde el año 2004 se está desarrollando la nueva especificación HTML 5.0, si bien aún le queda camino por recorrer hasta estar terminada. El último borrador de la misma es del pasado día 12 de diciembre (o sea, el pasado jueves).


Esta nueva especificación trata de estar al día con las tendencias actuales de la red, sobre todo la llamada «web social» basada en contenidos generados por cualquiera, los contenidos multimedia, etc..


Así, por ejemplo, la nueva especificación soporta unas etiquetas denominadas <video> y <audio> que permiten embeber de manera universal este tipo de contenido multimedia. De este modo no nos restringiremos a un sólo formato (Como Windows Media Video o Quikctime) ni tendremos obligatoriamente que usar Flash si queremos que se vea en cualquier sistema operativo. Por ejemplo, bastará con colocar esto:



<video src=»mivideo.ogv» controls poster=»fondo.jpg»
width=»320″ height=»240″>
    <a href=»video.ogv»>Download movie</a>
</video>


para obtener un control de vídeo de tamaño 320×240 reproduciendo un vídeo en formato OGV, que mostrará controles para su manejo y como fondo mientras el vídeo no carga una imagen JPG especificada. Más fácil imposible. Incluso es posible indicar qué vídeo se mostrará en función del dispositivo que se conetce (por ejemplo uno de baja resolución si se accede con un teléfono móvil), y por supuesto incluye métodos y eventos en el DOM para el manejo del control por si queremos proporcionar nuestra propia interfaz. El navegador Opera y el motor de renderizado WebKit (en el que se basa Safari) tienen ya soporte parcial de esto en forma experimental.


La otra gran área de mejora es en el ámbito de la estructura de los documentos, más asociada con el significado del contenido que ahora, y que hace más fácil controlar la disposición de los elementos que con el uso de los DIV que se hace en la versión actual.


Por ejemplo, la siguiente figura muestra cómo construimos ahora una estructura de contenidos típica en una página:



y esta sería la misma disposición construida con algunas de las nuevas etiquetas:



Estas etiquetas tienen varias ventajas sobre las actuales: son más fáciles de utilizar, dotan de significado a sus contenidos y ofrecen una navegación más fácil.


Para saber más:



· Diferencias con HTML 4.0
· Introducción a HTML 5.0


Estractado desde la página A List apart, de un interesante artículo de Lahclan Hunt.

La Herramienta de Prueba de Objetos de Visual Studio

Visual Studio 2005 y 2008 disponen de una herramienta bastante útil pero también bastante desconocida llamada «Herramienta de Prueba de Objetos» que, como su propio nombre indica, nos permite probar cualquier clase disponible en nuestro programa sin necesidad de ejecutarlo ni de crear elementos de prueba.


¿Cuántas veces diseñando una clase para reutilizar en otros proyectos te has creado un proyecto anexo de tipo consola para poder probar poco a poco el código que ibas desarrollando? Con esta herramienta no te hará falta.


Puedes mostrarla desde el menú Ver·Otras ventanas. Para hacer uso de ella debes ir al explorador de clases  y localizar la clase que quieres probar (o ir a un diagrama de clase que contenga la clase a probar). Pulsando con el botón derecho sobre la clase, una de las opciones que aparecen es la de «Crear Instancia»:



Al hacerlo se crea un nuevo objeto de la clase elegida al cual le otorgamos un nombre descriptivo:



y a partir de ese momento estará disponible en la ventana de la herramienta, listo para ser utilizado como si lo hubiésemos creado con un programa y tuviésemos un punto de interrupción preparado justo después:



Podemos, de hecho, examinarlo como cuando estamos depurando (se ve enla figura anterior), desplegando el examinador flotante y viendo los valores de sus propiedades, etc…


Si pulsamos con el botón derecho sobre uno de los objetos que tengamos en la ventana podremos invocar cualquiera de sus métodos o incluso cualquiera de los métodos de sus clases base:



Al hacerlo se muestra un diálogo que nos permite establecer los valores para los parámetros de invocación, pasando así los valores que sean necesarios:



(fíjate que las cadenas se pasan entre comillas, igual que en el código).


Eso hace que se ejecute el método y podamos probarlo sin necesidad de crear otro proyecto para ello. Además nos permite meter en la herramienta todos los objetos devueltos por los métodos que hayamos invocado para probar, convirtiéndose éstos en nuevos objetos dipsonibles en la ventana para utilizr y probar también. Por ejemplo, el método de prueba «Saluda» devuelve una cadena, la cual podemos almacenar y usar desde esta ventana (obviamente tiene más sentido con otros objetos, pero…):



Espero que la encontréis útil si no la conocíais 🙂

Volta: desarrollo de aplicaciones Web usando sólo los materiales que tienes en la habitación

VoltaEse es el original eslógan de la nueva herramienta de desarrollo Web salida de los laboratorios de Windows Live y de Microsoft Research. Se trata de Microsoft Volta, una serie de extensiones y bibliotecas para Visual Studio 2008, presentada oficialmente hace 4 días.


La novedad de este interesante proyecto es que permite desarrollar aplicaciones Web sin importarnos si su funcionalidad se va a ejecutar en el cliente (navegador) o en el servidor. Nosotros desarrollamos y es más tarde, antes del despliegue, cuando decidimos de qué forma distribuimos todas las capas de la aplicación. Así, podemos decidir que una determinada funcionalidad se ejecute en el servidor por ser más compleja y con menos necesidad de inmediatez, mientras qeu por otro lado indicamos que una página completa (toda su funcionalidad) se ejecute en el cliente. Para ello programamos todo en el lenguaje .NET que queramos (C#, VB.NET, JScript o, yo que sé, PHP) y sólo tenemos que marcar las clases que hemos creado con un atributo u otro para conseguir que se ejecute en uno u otro lado. Volta se encarga de todo lo demás, incluyendo comunicación, seriación, seguridad, sincronización, etc… entre todas las capas que intervienen.


Lo más impresionante de todo es quizá cómo hace la parte de código cliente: genera JavaScript compatible con los principales navegadores (Internet Explorer y Firefox, no soporta de momento Safari) directamente a partir del código MSIL generado a partir del lenguaje .NET elegido. Así, nos aisla completamente de ciertas complejidades inherentes al desarrollo Web en cliente, y podemos trabajar con el lenguaje .NET con el que nos sistamos cómodos. Es muy interesante ver cómo hace uso de los genéricos y los métodos extensores de .NET 3.5 para conseguir algunas funciones.


Es especialmente interesante la biblioteca específica que trae para crear aplicaciones con Windows Live Map. Lo convierte en algo realmente sencillo y que además podemos crear sin tener que pelearnos con JavaScript y cuestiones de lado del cliente.


Como pegas comentar que si queremos hacer cosas que lleven mucho cálculo al cliente (como un par de los ejemplos que facilita, que generan figuras 3D con XHTML pero que se programa en .NET!), la ejecución carga un poco la máquina del usuario, porque a fin y al cabo es JavaScript. Por otro lado la carga inicial de la aplicación es algo lenta porque aunque la página generada es por lo general muy pequeña, la carga en segundo plan de las bibliotecas de tiempo de ejecución tarda un poco.


Es un interesante proyecto al que debes darle al menos la oportunidad de descargarlo y probarlo.

El descubrimiento del mes: las aplicaciones on-line de ZOHO

Hoy, buscando otra cosa totalmente diferente, he acabado en la página de una gente que tiene unas aplicaciones on-line impresionantes. Se trata de ZOHO.


Yo soy un ávido usuario de las aplicaciones on-line de Google, sobre todo del Bloc de notas para anotar un montón de ideas que se me van ocurriendo, y de GMail, aunque también uso las hojas de cálculo y los calendarios. No obstante me lo voy a pensar a partir de ahora. ZOHO tiene todavía más aplicaciones que Google, y las que tiene son más potentes.



Por ejemplo, Zoho Meeting es super-útil. Y me parece impresionante Zoho DB & Reports (una especie de sustituto de Access pero on-line, con lo que ello conlleva), así como el interesante Zoho Creator (que además funciona desde móviles).


Casi todos los programas son gratuitos (no sé cómo piensan ganar pasta con esto), a excepción del software de gestión de proyectos (tienes un proyecto gratis) y el software de CRM (que tiene 3 usuarios gratis, suficiente para una empresa pequeña). Zoho Mail y Zoho Business están en beta privada de momento, pero te puedes apuntar e igual te admiten.


Por cierto, algunas de las aplicaciones incluso funcionan sin conexión a Internet porque usan por debajo Google Gears 🙂


Creo que merece la pena probarlos. No vamos a dejar que un prejuicio (o sea, que no sean Google) nos vaya a frenar, y les voy a dar una  oportunidad para empezar a usarlas como sustitutas de las que uso ahora. A ver qué tal. Ya os contaré.


Si alguno los usa o los ha usado puede poner aquí sus comentarios.


Espero que a alguien les resulten útiles 🙂

Guerra Open-Source: terrorismo y software libre ¡Que fuerrrrte!

Ya he comentado aquí en varias ocasiones lo mucho que me gusta la revista Spectrum del IEEE. Todos los meses trae artículos super interesantes sobre tecnología en general, con una fuerte componente en la informática en particular. Merece la pena hacerse del IEEE aunque sea sólo por recibirla.


El caso es que en el número de Noviembre (que no había tenido tiempo de leer hasta hoy, ya en Diciembre) viene un artículo titulado «Open-Source Warfare» (se puede leer on-line también) que hace un interesante paralelismo entre los modos de proceder de las células terroristas que actúan en Iraq y otros sitios y los grupos de desarrollo estilo Open-Source. La intención del artículo no es criticar a este tipo de organización, sino todo lo contrario, y es alabar la forma de gestión ágil y orientada al resultado de estos grupos, en contraste con el inmovilismo y falta de agilidad de los Gobiernos (grandes empresas en el simil). Por ejemplo:



«Robb calls this new type of conflict “open-source warfare,” because the manner in which insurgent groups are organizing themselves, sharing information, and adapting their strategies bears a strong resemblance to the open-source movement in software development. Insurgent groups, like open-source software hackers, tend to form loose and nonhierarchical networks to pursue a common vision, Robb says. United by that vision, they exchange information and work collaboratively on tasks of mutual interest.«


o también:



«The reliance on IT also enables open-source groups to identify and respond to problems much more rapidly than a more structured, top-down entity can—be it the Pentagon or a large software company such as Microsoft.«


y



«Mimicking open-source developers, insurgent groups ‘hack at the source code of warfare’, Robb says. By that, he means they aren’t bound by the traditional rules of military engagement; they use whatever works, with their tactics, techniques, and procedures all open to scrutiny and improvement by the community. Although such groups are weak by conventional military ­benchmarks—they’d clearly be outgunned and outmanned on an open battlefield—they can still threaten strong national militaries. That’s because they don’t aim to invade, hold, or govern territory, but rather to exert political influence by exhausting an adversary’s capacity to fight back.«


Aunque también hay afirmaciones que sacadas de contexto son claramente incendiarias, como esta en la que se compara a los terroristas y a la mafia organizada con el Open Source:



«In studying the behaviors of insurgencies in Iraq and elsewhere, as well as organized-crime syndicates and other groups, Robb noticed the many parallels to the open-source model in software.»


¡Que fuerrrte! jeje


Interesante artículo que os recomiendo leer. Incluso hace referencia al mítico artículo «La Catedral y el Bazar» que es el inspirador de la comunidad Open Source.


En general estoy de acuerdo con que un grupo de grupos coordinados de manera natural con la ayuda de Internet, así como las empresas pequeñas y ágiles, orientadas a los resultados, pueden ser mucho más efectivas que cualquuier gran empresa ahogada por su propia burocracia y procedimientos. Es una interesante reflexión. Ahí queda…