31 de mayo de 2007

Definiendo el futuro de la web

Hace unas semanas el encargado de software libre de Google, que es uno de los que estaba en slashdot, anunció que ayer, que era el "día del desarrollador Google" (o dicho de otra manera, conferencia anual de programadores que utilizan productos Google), se iba a anunciar "algo especial". Y vaya si se ha anunciado. Se ha anunciado Google Gears, que es una extensión opensource para navegadores que permite ejecutar aplicaciones web "offline".

Lo que esto significa es que se podrán construir aplicaciones con las tecnologías habituales, pero que esas aplicaciones podrán funcionar sin estar conectadas a red. Para ello, se hace que el navegador pueda hacer las siguientes cosas: 1) Cachear el "programa" (css, .js, html, imágenes) 2) Permitir al programa almacenar datos localmente en una base de datos SQL (implementada con sqlite), y 3) Facilidades de programación para que el programa nunca bloquee la interfaz (no me lo invento yo, son los tres pilares que documenta Google)

El lector observador se dará cuenta de que estas cosas no son nuevas y ya existían de una forma parecida; 1) Los caches de los navegadores llevan cacheando datos desde hace tiempo 2) Las cookies permiten a las páginas almacenar datos localmente desde siempre y 3) Las técnicas AJAX ya permiten hacer programas que no bloqueen la interfaz. Es por esto que se puede concluir que en realidad no estamos hablando de algo fundamentalmente nuevo, sino en un perfeccionamiento de la tecnología ya existente. Quizás el ejemplo más claro de ello sea el de las cookies: Las cookies actuales están limitadas a 4K y a 20-50 cookies por dominio. Es absurdo tener estas restricciones de espacio, con la cantidad de GB que se tienen hoy. Asi que con esta nueva tecnología se permitirá a la aplicación almacenar más información. Y el sistema de cacheado que anuncia Google noes más que una manera de tener mayor control sobre los caches que ya existían.

El propósito de toda esta tecnología supongo que es la creación de aplicaciones que se descargan y empiezan a funcionar localmente y que sólamente se conectan con el servidor cuando lo necesitan. Es decir, hacer posible el verdadero paradigma de "aplicación web", además de hacer posible la instalación sencilla de aplicaciones de escritorio en el navegador. Por supuesto, toda esto de las aplicaciones web no es cosa solo de Google: Firefox 3 tambien tiene soporte nativo de dichas aplicaciones "offline". Y tanto Google como Firefox 3 no hacen más que aproximarse a las capacidades de "almacenamiento offline" de los futuros estándares de la web como HTML 5. Aunque de momento, lo de Google es incompatible con las capacidades de Firefox 3.0, que se han desarrollado para cumplir escrupulosamente las tendencias del futuro de la web. Pero sin duda Google arreglará eso pronto, porque a Google no le interesa controlar el "entorno" de esta tecnología. En cualquier caso, está claro que la caja de Pandora del futuro de la Web se acaba de abrir ayer.

30 de mayo de 2007

Paaaaayo, comprame llamaaaaaadas

(Tambien titulado, con deliberada chulería, "Ensayo sobre economía en la Red"). Nos enteramos hoy de que Skype cierra sus 6 oficinas en Europa, dejando solo la de Londres. Los amigos de Varsavsky y Fon, me refiero. ¿Pero no era Skype parte del web 2.0 y el web 2.0 una buena base de negocio? Lo bueno es que los de Skype son conscientes del problema: "En la parte gratuita del software, el crecimiento es bueno. Por el contrario, en la parte de pago, nuestra actividad atraviesa un momento muy difícil". Es decir, que cuando regalan las cosas la gente las quiere, y cuando cobran por ellas no. Bien, es un principio.

Supongo que el de Skype se podría citar como típico caso de "muerte por éxito", el mismo síntoma que se le presuponía (y presupone aun hoy en manos del solvente Google) a Youtube: Un servicio con tanto, tanto éxito, que la avalancha de millones de usuarios amenazaba la poca recaudación y débil modelo de negocio que sustentaban el pago de servidores y ancho de banda; aunque Skype no ha muerto ni va a hacerlo. Pero en realidad el de Skype no es más que el típico caso de burbuja pinchada que tantas y tantas veces se ha dado en la joven industria informática y especialmente alrededor de Internet. Skype no es más que otro programa shareware, como tantos cientos de programas shareware que en la década de los 90 eran publicados por programadores freelance y que te ofrecían funcionalidad completa a cambio de mandar 5$ a tal dirección. Cambian algunas cosas: el número de personas que utilizan internet hoy y que pueden optar por usar Skype, cambia el concepto de internet , cambia lo que se ofrece. Pero sigue siendo el mismo modelo: Toma un programa gratis que hace cosas, y pagame para que te deje que haga más cosas. La única novedad es que en vez de enviar 5$ a una dirección y recibir un código, se automatiza el proceso a traves de un formulario web, supongo.

Resulta increible que despues de tantos años se pretenda seguir dinero de la misma forma. No es que los de Skype y todos los de la moda web 2.0 sean gilipollas o que sus empresas no ganen dinero. Skype tiene 500 trabajadores, lo cual es ya de por si un gran éxito, y que la empresa no va a desaparecer es evidente, porque la funcionalidad que provee es irreemplazable, tan solo tienen que animar algo más a la gente para pagar: y en caso de perder dinero modificarán su modelo negocio para poder ganarlo. Pero creo que es muy llamativo que Skype este pasando ciertas dificultades financieras, idénticas a los de los programas shareware, idénticas a los de la burbuja 1.0 y a los de la actual: debería hacernos reflexionar sobre los grandes problemas de los modelos de negocio basados en internet. Skype proporciona una funcionalidad maravillosa, mágica: ¡Llamadas a través de Internet! ¿Como es posible que una tecnología tan maravillosa esté falta de clientes? ¿Como es posible que una empresa que debería, por su posición, sentar las bases de las telecomunicaciones personales del futuro, tenga estos problemas? No es un problema del producto, que es magnífico: El problema es el modelo de negocio - que a su vez repercute negativamente a largo plazo en la inversión de I+D en el producto. ¿Como es posible que las grandes empresas de telecomunicación hagan bien de dinerito con sus servicios de llamadas de fijos (supongo que les de beneficios) y una empresa con una tecnología innovadora, rompedora, magnífica, tenga problemas de crecimiento? Skype debería estar abriendo oficinas no solo en Europa sino en el culo de Bin Laden, si el modelo de negocio fuera óptimo.

De hecho, en mi opinión la ausencia de modelos de negocio sólidos -o más bien, la ausencia de la tecnología necesaria para crearlos- en Internet está limitando el crecimiento de Internet. Pero mira Google, me dirá alguno: Efectivamente, Google hace bien de dinerito mediante su modelo de negocio basado en publicidad, ese es el único modelo realmente exitoso a día de hoy. Pero la publicidad no puede financiarlo todo (razonamiento más adelante). La publicidad tiene éxito porque es un mercado con unas características especiales: No se centra en vender un producto o servicio, sino en motivar (y manipular, aunque Luis Bassat no perdonaría que alguien dijera ésto despues de haber leido su Libro Rojo de la Publicidad) al consumidor para que lo compre. El modelo de negocio de la publicidad es mostrar publicidad donde haya mucha gente que la vea. En ese aspecto Internet funciona porque hay millones y millones de usuarios que lo utilizan y a los que puede mostrarse la publicidad. En los 90 el modelo de publicidad fracasó porque no había tanta población, y porque no había plataformas de publicidad decentes como AdSense, pero hoy tiene éxito. Respecto a los juegos online de pago, funcionan solo gracias al fanatismo, se mantienen muy lejos de la población.

¿Puede sin embargo vivir Internet de la publicidad eternamente? En parte si...y en parte no: Ahí está Skype y sus problemas. Para que haya economía en Internet tiene que haber un mercado, y no me refiero a hacerse rico, sino a que exista un mercado capaz de generar dinero que pague los servidores de skype y que se reinvierta y a su vez genere mejores productos y servicios. Y como en todo mercado, tiene que haber, no en su totalidad pero si en parte, una oferta y una demanda y un precio. El problema de los modelos de negocio de Internet es que carecen de ese mercado; o traducido a lenguaje informático: No existe hoy en día la tecnología necesaria para hacer transacciones económicas de forma fiable y transparente. Es posible, por supuesto, adquirir cosas poniendo el número de tu tarjeta de crédito en un formulario web, pero esto no constituye realmente una transacción, ni es transparente, ni fiable. No es una transacción, porque lo que estás haciendo realmente es mandar información en un formulario. No es transparente porque la transacción se realiza posteriormente, por canales totalmente apartados de la web, y aunque se hace y puedes confiar en que se hace, mucha gente no confia ni lo encuentra cómodo, y este es el principal obstáculo. Los supermercados han solucionado ese problema mediante dispositivos en los que pasan tu tarjeta, se comprueba la autenticidad con el DNI, se firma un papelito...hay garantías (y aun así mucha gente no las usa). Teclear un número en un formulario web no es muy convincente.

La realidad es que la razón por la que no ha sido posible establecer un mercado sólido de Internet y modelos de negocio que aprovechen ese mercadp es porque no existe la tecnología adecuada para pagar productos y servicios. Y si los ciudadanos no pueden pagar comodamente por un producto, dificilmente pueden producirse transacciones, y dificilmente pueden montarse modelos de negocio más allá de la publicidad. Por eso Skype y muchos servicios web tienen que lanzar versiones gratuitas de productos y servicios: Porque por muy bueno que sea el servicio, si es obligatorio pagar desde un principio no lo usa ni cristo. Por eso se ven obligados a hacer versiones gratuitas y ofrecer más servicios a cambio de pago, y esos modelos invariablemente acaban siendo no demasiado rentables por la misma razón por la que adoptan su modelo de negocio: Del mismo modo que es dificil que software como skype sea exitoso si solo es de pago, es dificil que mucha gente contrate el servicio extra. Y por la misma razón: Por la dificultad que encuentra el usuario en pagar.

Se olvida que pretender que esos servicios web de los que tanto se habla salgan siempre gratis es algo absurdo, puesto que implementarlos y mantenerlos cuesta dinero. O parcialmente absurdo: Si que se puede vivir en una internet gratis, totalmente financiada por la publicidad, incluido skype. Pero esa Internet no será ni la mitad de apasionante, variada y maravillosa de lo que será si, además de la publicidad, se ofrece la posibilidad adicional de que los ciudadanos paguen un precio por un servicio que creen que merece la pena. Tan solo habría que crear la tecnología, y el mercado de Internet se crearía automáticamente con servicios destinados a satisfacer necesidades.

El problema es, por tanto, tecnologico; pero tambien financiero. Para que sea posible construir una tecnología capaz de ofrecer a los usuarios la posibilidad de adquirir todo tipo de productos, es imperativa la colaboración de los bancos. La solución tecnológica bien podría ser una solución análoga a la de un simple supermercado: En la página web del producto/servicio habría un pequeño hueco controlado por el banco, en el que se vea el logotipo del banco etc. y de confianza al usuario. La página que ofrece el producto contactaría con el banco para indicarle el nombre del producto, el precio, datos legales de la empresa etc. Por su parte el usuario comunicaría al banco quien es, su número de cuenta, identificación, etc -para lo cual debería ser posible almacenar esa información de manera segura en el ordenador-. Finalmente, el banco mostraría en el hueco al usuario la opción de realizar o no la transacción, y el usuario aceptaría, con la completa seguridad de que nadie puede engañarle. Lo más parecido a todo esto es PayPal, pero no es todo lo "oficial" que debería ser, este servicio deberían proporcionarlo los bancos. Y ya vale de hacer de pitonisa Lola, que no se me da nada bien.

28 de mayo de 2007

Ataques DoS distribuidos mediante....P2P

En vnunet.es hay una noticia que cuenta en qué consiste la última moda en ataques DoS (que vnunet.es tenga una noticia interesante tambien es noticia). A lo que se solía recurrir hasta hoy era a redes masivas de bots: Equipos que son infectados por programas diseñados para obedecer órdenes y tirar equipos de internet por exceso de tráfico o para mandar spam.

Sin embargo, la noticia de vnunet cuenta que eso se pasó de moda y que ahora se utilizan las redes P2P. ¿Cómo? "Envenenando" las puestas en contacto que se hacen en las redes P2P. Cuando un usuario de P2P empieza a bajarse un archivo, el programa P2P manda búsquedas a la red P2P para saber quien tiene ese archivo...una vez que tiene la dirección IP de equipos que tienen ese archivo, se conecta a ellos para empezar la descarga. El envenenamiento se produce cuando el cracker malévolo manipula esas búsquedas: Responde a la búsqueda -a cualquiera, aunque no tenga el archivo- diciendo que él si tiene el archivo, pero en vez de dar su IP da la IP del ordenador al que quiere tirar.

Resultado: El equipo que reciba esa búsqueda manipulada no se intentará conectar al ordenador de quien respondió a la búsqueda, sino a otro que no tiene nada que ver y que ni siquiera tiene por qué tener instalado un programa P2P. Ese equipo rechazará, por supuesto, la petición del que se quiere bajar el archivo. Pero si esto mismo lo hacen miles de equipos, que es algo bastante sencillo en las multimillonarias redes P2P, el equipo no tendrá ancho de banda suficiente para rechazar todas las peticiones, y no tendrá ancho de banda para nada más.

Francamente, no creo que esto signifique el fin de los P2P ni un fallo esencial en su estructura, simplemente tendrán que reforzar los canales de información de los P2P para impedir que puedan ser envenenados, para lo cual influirá mucho el tipo de P2P que se utilize. Pero esto puede tornarse interesante mientras se resuelve.

27 de mayo de 2007

Por que "the Linux way" es el correcto

En el planet Gnome -que leo a menudo para ver si a alguien se le ocurre comentar algunos de los gravísimos problemas que este escritorio tiene a largo plazo- me he encontrado este post de un tipo que cuenta una experiencia con una webcam en Linux.

Resumiéndolo: Compró la camara más barata que encontró por 35$, la enchufó en Ubuntu y funcionó. Luego intentó lo mismo en Windows: Windows no tenía los drivers, asi que tuvo que buscar y bajarse los drivers, que ocupaban más de 100 MB porque además traen algún tipo de utilidad, e instalarlos. El post no lo dice, pero tambien tendrá que visitar periódicamente la página del fabricante para comprobar si hay actualizaciones -por un fallo de seguridad, por ejemplo-, mientras que Ubuntu se lo actualizará solo. Y es que digan lo que digan, la integración de drivers en Linux es muy superior, el único problema es la disponibilidad del driver. Pero una vez que existe todo es más fácil.

Hay gente que querría ver en Linux algo parecido al Administrador de Hardware de Windows. De hecho, los de Ubuntu están trabajando en algo así. Craso error. Los que hayan utilizado Mac OS X se habrán percatado de que ahí tampoco tienen un administrador de hardware. ¿Por qué? Porque el objetivo de Apple es hacer la experiencia cotidiana lo más sencilla posible. Gracias a que ellos controlan el hardware que venden, adaptan el sistema operativo y sus drivers para que simplemente funcionen. El objetivo es que uno encienda el ordenador y la tarjeta gráfica esté funcionando, la camara empieze a funcionar cuando abres un programa de video....si tu hardware está conectado, es que funciona. (Nota: Esto no se aplica a dispositivos externos y a hardware de terceros.)

En ese sentido, el objetivo de Linux debería ser ese: que el hardware funcione, como le funcionó al tipo que escribió ese blog. Nada de notificaciones de "se ha añadido un dispositivo": ¡Por supuesto que se ha añadido, imbécil, yo mismo lo he conectado! Si los de Microsoft fueran un poco serios, harían al menos que solo se avise al usuario del nuevo hardware solo cuando no hay drivers. Si los hay...¿para que molestar al usuario? Los de Microsoft te dirán, auguro, que si no pones algo así la gente no está segura de que su hardware está listo. Yo digo que si la gente necesita que la notifiquen para estar segura, es porque Microsoft y su Windows les han acostumbrado a ello.

Moraleja: Los drivers no son asunto del usuario. Microsoft argumentará que puesto que ellos no controlan el ecosistema de hardware necesitan el sistema actual. Yo digo que, a pesar de que ellos no controlan el ecosistema de hardware, la situación actual es un problema y ellos, que ingresan 40.000 putos millones de dólares al año, deberían resolverla.

24 de mayo de 2007

Dell comienza HOY a vender ordenadores con Ubuntu

Así lo han anunciado uno de los mayores vendedores de ordenadores del mundo, aunque de momento solo estarán disponibles para EEUU. La oferta comienza con tres equipos: los escritorios XPS 410n y Dimension E520n, y el portátil Inspiron E1505n. El precio de entrada del portátil y del escritorio Dimension E520n es de 599$, el otro 899$. Estarán disponibles a partir de hoy en esta página.

Espero que la iniciativa tenga éxito, y un porcentaje de ventas del 1% sería más que suficiente. Y espero que tenga éxito no solo porque sea partidario de Linux, sino porque el éxito es absolutamente necesario e incluso imprescindible para que Linux siga avanzando: a día de hoy Ubuntu funciona con la inversión de su fundador, pero está lejos de dar beneficios. Ganar cierta aceptación social haría que se generara dinero, dinero que iría a parar a Canonical, que podría reinvertirlo en mejorar Linux para ganar aun más aceptación social. Hoy en día, Linux solo genera dinero en servidores y es en software de servidores donde se reinvierte ese dinero; sin embargo el software de escritorio es muchísimo menos competitivo, y es precisamente ahí donde necesita despegar y empezar a generar dinero tal y como lo hizo en su día en los servidores.

Recordar que Linux en el fondo era una chapuza antes de que IBM se fijara en él, y que solamente a base de mejorarlo lo convirtió en lo que es y dió pie a que compañías como Red Hat o Suse ganaran más dinero. Dell bien podría ser el IBM que nos de ese empujón en el escritorio, y bien podríamos estar presenciando hoy un nuevo punto de inflexión histórico para Linux, un punto que de pie a la mejora masiva de Gnome, KDE, etc, a lo largo de los próximos años; y nos convierta en un temible rival. En cualquier caso, hasta ahora yo siempre pensé que si tenía que comprar un equipo nuevo lo compraría a Apple. A partir de ahora, si las cosas no se tuercen, tendré dos opciones.

22 de mayo de 2007

¿Qué tiene la GPL 3?

¿Que tendrá para que Microsoft financie un estudio cuya conclusión es que los programadores no quieren que la GPL diga a los desarrollador como debe hacerse la protección de patentes en software licenciado bajo la GPL3?

¿Tendra algo que ver con que Microsoft podría estar afectado por la GPL3 al comprar las famosas licencias a Novell? (Aunque como apunta el artículo es un razonamiento muy, muy, muy pobre, porque Microsoft no distribuye realmente Suse). En cualquier caso, es curioso comprobar que Microsoft ha financiado este estudio, que se basa en la respuesta de 34 desarrolladores -los 300 emails restantes enviados no fueron respondidos- un mes antes de antes de decir que Linux viola 235 patentes de Microsoft.

¿Está conviertiendose Firefox en un monstruo?

No dejo de encontrar por ahí artículos que hablan, en lenguaje apocalíptico, de como el Fin de Firefox está cerca debido a la horda de nuevas características que los desarrolladores están incluyendo, ignorantes ellos de que podrían convertir a Firefox en el monstruo recargado que Mozilla un día fue e iniciar de ese modo su imparable declive hacia la muerte, etc etc. En concreto, en Wired dicen que Firefox 3.0 podría ser el inicio del declive de este navegador.

¿Tienen algo de fundado estos temores? Aquí está el blog minoritario preferido por un selecto grupo de Elegidos para dar mi opinión sobre el tema.

Lo que más me llama la atención de estos rumores apocalípticos es la ignorancia que parecen mostrar sobre los orígenes de Firefox. Asumen al parecer que Blake Ross se cansó de la complejidad de Mozilla y escribió Firefox como solución, con una interfaz simple destinada a satisfacer los deseos más básicos y un sistema de extensiones que permitirían extender el navegador en cualquier dirección para satisfacer las necesidades particulares. Todo esto no deja de ser verdad, pero esta gente siempre se olvida de recordar que Firefox no se reescribió ni mucho menos de cero, sino que la mayoría del núcleo de Firefox (el motor de renderizado, por ejemplo) procedía del supuestamente pesado Mozilla, con pocas modificaciones. Algunos agoreros dijeron que la pesadez de Mozilla venía de características irrelevantes como XUL; sin embargo Firefox tuvo soporte de XUL desde el primer día y ahora se le recuerda como un navegador eficiente.

¿De dónde venía concretamente la pesadez de Mozilla? Francamente no tengo la menor idea, la naturaleza del software es tal que el consumo podría venir de cualquier lado. Ahora bien, si que se sabe que la base código de Mozilla tenía cieto nivel de bloatez. Mozilla sufrió indudablemente del Sindrome del Segundo Sistema: En vez de evolucionar la base del código, reescribieron de cero absolutamente todo para hacer el navegador supuestamente perfecto, incluido un sistema análogo a COM llamado XPCOM. Con el tiempo se ha visto -y esto no lo digo yo, está escrito en los roadmaps de mozilla, hasta el punto que a uno de los principales objetivos lo apodan deCOMtamination, refiriendose a XPCOM- que en vez de crear el navegador perfecto crearon un monstruo con demasiada complejidad: Como ejemplo, cuando se añadió soporte para SVG un programador - Robert O'Callahan, el mismo de la cita sobre software escalable en multicores en la anterior entrada de este blog- se dió cuenta (el título de la entrada, Anatomy of a bloat, es bastante descriptivo) que las estructuras de datos necesarias para algo tan simple como guardar los detalles de un único y vulgar rectángulo SVG eran algo más de 1 KB. En concreto, al lector le dirá mucho esta porción del post -no recomendada para personas sensibles, y lo siento por los que no entiendan inglés-: "Overall, that's a lower bound of 1372 bytes on a normal 32-bit machine. I won my bet with Boris that it wouldn't be under 1K! For a single rectangle element! Other interesting statistics to think about: that's 39 heap allocated objects, 26 of which are reference counted XPCOM objects. Many of the objects support multiple C++ interfaces, hence require multiple vtable pointers per object; in fact 320 of those 1372 bytes are for vtable pointers. On a 64-bit machine, which we can no longer consider pie in the sky, the numbers are worse as pointers grow to 8 bytes each: 2376 bytes, of which 640 bytes are vtable pointers. Eeeep!". Y el tal Robert señala a un culpable: "I'm afraid the main culprit is XPCOM and a design that leans heavily on it" y hace una muy interesante reflexión sobre ello: "An overarching lesson is that XPCOM is a disease. It tempts people who should know better to create systems which are nasty, large, and inevitably, slow. It is a contagious disease; people acquire it by being exposed to infected code. Developers can be immunised, as many of us have, mostly by suffering through a bout of it. Perhaps diatribes like mine can help immunise others with less suffering. XPCOM does have its uses --- as a component mechanism in situations where one absolutely requires dynamic component loading and binding, and where we need to cross language boundaries --- but wherever it spreads beyond that, it must be stamped out"

Y sin embargo, este es el sistema que formaba parte de la base de las supuestamente eficientes primeras versiones de Firefox. Lo que quiero decir es que Firefox jamás ha sido el navegador más eficiente del mundo -si lo era comparado con otros era porque esos navegadores eran aun peores-, y que gran parte de los esfuerzos actuales están siendo enfocados precisamente a mejorar esa base de código. De hecho hay tantas mejoras enfocadas solamente a mejorar el sistema actual, que no parece que vaya a haber muchas características nuevas visibles al usuario en 3.0. ¿Pero las que haya, como la capacidad para ejecutar aplicaciones offline o los microresúmenes, significan que se esté recargando el sistema? Depende de como lo veas. Firefox fue una revolución frente al concepto del navegador tradicional que, debido al paro premeditado del desarrollo del IE, llevaba varios años establecido. Sin embargo ahora mismo el mundo web se está re-revolucionando, y el navegador que mejor y más rápido implemente esas características será, como pasó con Netscape 4 vs IE 5, el que gane la batalla.

Si Firefox no añade las nuevas características que requieren los millones que se están inviertiendo en Internet - 10.000$ millones en adquisiciones de plataformas publicitarias por Google y Microsoft en el último mes - tiene la batalla perdida. Microsoft se ha puesto a desarrollar el IE a todo trapo, y la mejor defensa contra un gigante como ese es adelantarse a él. Eso hará que el consumo de Firefox suba, pero la cuestion no es que suba, que es de esperar, sino que no lo haga en exceso y que el consumo sea proporcional a sus características. En ese sentido, Firefox 3 es una mejora, y desde luego los desarrolladores están concienciados sobre el tema. Tambien están muy concienciados con que la usabilidad tiene mucho que ver con el éxito de Firefox. Solo cabe esperar buenas cosas. En conclusión, creo que esos rumores sobre Firefox son apocalípticos y desinformados. Los problemas de rendimiento -que les hay- de las últimas versiones de Firefox están muy presentes y están siendo vigilados. Las nuevas características de Firefox 3.0 son necesarias. No sean tan agoreros.

19 de mayo de 2007

¿Son los procesadores multicore el futuro? Quizás no...

(Advertencia a los lectores del Planeta Augcyl: el enlace que pone en el planet es incorrecto este es el bueno)
Como muchos se habrán dado cuenta, los mutlicore se han convertido de la noche a la mañana en el ojo del huracán. La multiprogramación se está volviendo -ya se ha vuelto, para los más avispados- el paradigma central en el que centrarse a la hora de diseñar software, no solo en el mundo de los servidores (donde ya se utiliza desde hace mucho tiempo) sino en entornos de escritorio, que son utilizados hasta por los programadores que programan software para servidores. Los expertos de Intel recomendaron a los programadores en el último Foro para Desarrolladores de Intel que para aprovechar el máximo rendimiento en los futuros procesadores multicore, empiezen a diseñar sus programas pensando desde el principio en la multiprogramación: algoritmos, estructuras de datos...que no se lo planteen como una "mejora" sino como eje troncal, y que se familiarizen con las herramientas de depuración de bloqueos de Intel y con siglas como OpenMP (del que por cierto, se acaba de dar soporte en el recien salido GCC 4.2).

Sin embargo la multiprogramación sigue siendo jodidamente dura. Para la mayoría de los programadores, la multiprogramación resulta aproximadamente igual de asequible que los discursos de HazteOir.org. Nadie sabe como hacer que el software escale mágicamente a unas cuantas decenas de CPUs y que su potencia sea utilizada en su totalidad del mismo modo que un bucle cerrado haciendo nada -o Evolution- consume el 100% de una sola CPU (tambien el 100% de la memoria, en el caso de Evolution). Existe un amplio consenso, especialmente en el mundo del hardware, sobre que que el mundo del software carece de un modelo para explotar las CPUs multicore, y que las CPUs multicore han venido para quedarse y que esto va a obligar a que se produzca una revolución en el software para descubrir cual es ese modelo. Creen que los fabricantes de CPUs llevan muchos años aumentando el rendimiento de los ordenadores, y que le toca al software partirse el cráneo.

¿Ocurrirá tal mejora? De venir, idealmente la mejora tendría que venir del desconocido y oscuro pero sin embargo amplio terreno que existe desde el nivel del lenguaje de programación al de los transistores de la CPU. Sin embargo existe un grupo de gente que simplemente piensa que esa mejora no se producirá, y que el software jamás podrá utilizar eficientemente tantos cores. De esta opinión parece ser Robert O'Callahan, uno de los mejores hackers de Firefox, especializado en temas gráficos, y que en un post anterior dijo que no merecía la pena centrarse en utilizar mucho threading en el renderizado de Gecko porque la complejidad que generaría no merecería la pena. En su última entrada de blog ha escrito unas palabras que por su profundidad y claridad creo que merecen una profunda reflexión:

"There was a great deal of discussion of parallel programming, now that we have entered the multicore world. More than one person opined that multicore is a mistake we will live to regret --- "we don't know what the right way is to use the transistors, but multicore is definitely wrong". There was general agreement that the state of parallel programming models, languages and tools remains pathetic for general-purpose single-user programs and no breakthrough should be expected. My position is that for regular desktop software to scale to 32 cores by 2011 (as roadmaps predict) we'd have to rewrite everything above the kernel, starting today, using some parallel programming model that doesn't suck. Since that model doesn't exist, it's already too late. Probably we will scale out to a handful of cores, with some opportunistic task or data parallelism, and then hit Amdahl's law, hard. It is probably therefore more fruitful to focus on new kinds of applications which we think we have reasonable ideas for parallelizing."

Antena 3 se apunta a Internet

Antena 3 va a ofrecer en Internet y de forma gratuita el contenido íntegro de sus nuevas producciones de ficción. Es la primera vez que en nuestro país una televisión decide utilizar esta nueva vía para ofrecer sus productos y, a partir de ahora, los espectadores contarán con un nuevo canal de acceso libre a las series de la cadena tras su emisión televisiva."

[...] "Esta nueva apuesta de la cadena está enmarcada dentro de su estrategia para potenciar sus contenidos audiovisuales en Internet. Se trata de una iniciativa que pretende autofinanciarse mediante la inserción de spots publicitarios al inicio de cada visionado, permitiendo al usuario contar con una interesante oferta gratuita desde la Red.

18 de mayo de 2007

La lucha por la publicidad web versión 2

Pues vaya, Mr. Ballmer acaba de gastarse 6.000 millones de dólares en comprar aQuantive. ¿Y que es aQuantive? Una empresa de publicidad en varios canales. Esta es una clara respuesta a la adquisición de DoubleClick por parte de Google. La diferencia es que Google se gastó 3100$ millones y Microsoft se está gastando casi el doble.

Pero aquí viene lo gracioso. Cuando Google compró DoubleClick Microsoft acusó la operación de monopolística. No se rian por favor...lo hizo en serio. No, no era 1 de Abril. Microsoft dice que Google es una de las compañías que más dinero online genera, DoubleClick tambien. Juntos suponen el 80% de los anuncios de Internet. Y eso, según Microsoft, era motivo para prohibir la operación por monopolística.

¿Y que ha dicho Microsoft tras comprar esta compañía, que al parecer tiene tentáculos más allá de la publicidad web? ¿Pensarán que ha rectificado y ya no acusa a Google de monopolista puesto que ellos mismos son un monopolio y se están ampliando aun más? No, mantienen la acusación a Google: Dicen que la compra de Microsoft es un "complemento" a su actual servicio de anuncios web. Es decir, que su adCenter que tan pocos beneficios les genera se dedica a una cosa y la compañía que han comprado a otro sector publicitario, con lo que entre ambas se "complementan". Sin embargo en lo de DoubleClick y Google no hay complemento, ambas se dedican al mismo sector: se solapan. Y Google la ha comprado para monopolizar ese sector, dice Microsoft.

A mi me hace gracia que uno de los monopolios más evidentes y perniciosos se queje de monopolio. ¿Y a quien no?

Los usuarios de Firefox se parchean mas

O eso dicen los de Secunia, que han hecho un análisis de las versiones que utiliza la gente y como andan de parcheados. Solo un 5.19% de los usuarios de Firefox no está completamente al día, contra un 5.40% de usuarios de IE7, un 9.61% de IE6 y un 11.96 (!) de Opera.

En el artículo dicen que esto es porque los usuarios de Firefox - e IE 7 - son más apasionados sobre los temas de la tecnología. Yo diré sin embargo que tiene mucho que ver el magnífico sistema de actualizaciones automáticas de Firefox. Para quienes no lo conozcan, o lo utilizen en Linux, donde las distribuciones suelen desactivarlo, se trata de un sistema que detecta y descarga automáticamente la actualización sin intervención alguna del usuario. Cuando ha terminado la descarga muestra una ventana popup informando de la actualización y un botón que da opción a reiniciar el navegador. Es un sistema muy sencillo para todo tipo de usuarios, puesto que no tienes que hacer una intervención manual para saber si hay actualizaciones....el navegador te lo dice.

Sin embargo, vale la pena destacar, y algunos jamás nos olvidaremos de apuntillarlo continuamente, que este no es un problema de Firefox ni de Opera, sino de Microsoft. Microsoft carece de tecnología que permita a una aplicación especificar una URL a un archivo que le diga a un sistema de gestión de software que hay una nueva versión, y que el sistema sea quien se encargue de instalar la actualizasción. Por eso Firefox tiene que programarse su propio sistema y tener suerte de tener un experto que implemente un sistema tan bueno como el de Firefox, que incluso utiliza parches diferenciales que solo actualizan las partes de Firefox que hay que actualizar, en vez de tener que bajarse el programa entero cada vez. Microsoft lo tiene....para los componentes de Windows, pero eso no tiene en cuenta las aplicaciones de terceros. Y hace que la distribucion de actualizaciones para aplicaciones de terceros en entornos de oficina sea un infierno.

Europa lo flipa con nosotros

Los que no son de aquí lo están flipando en colores

17 de mayo de 2007

Microsoft, asimetrías y patentes

"La habilidad de Microsoft para incorporar, paso a paso, todo aquello que veía en otros competidores la ha hecho digna de convertirse en una de las compañías más denunciadas de la historia. Denuncias que reflejan prácticas anticompetitivas, uso abusivo de la posición dominante del mercado, estrategias de bundling (inserción de un producto en un lote con otros productos) para desincentivar la compra de programas de competidores, prácticas de precios predatorios... Se trata, además, de demandas que, en su gran mayoría, Microsoft ha ido perdiendo, y pagando convenientemente a los presuntos damnificados; seguramente, todo hay que decirlo, con una gran alegría. A lo largo del tiempo, forzada en parte por las circunstancias, la compañía ha desarrollado una enorme e implacable maquinaria legal y de lobbying: una pequeña revisión histórica a los procesos judiciales en los que Microsoft ha estado implicada a lo largo del tiempo nos lleva a una conclusión muy clara: esta compañía ni es ni se comporta como un angelito. Más bien todo lo contrario."

Enrique Dans en un interesantísimo artículo en Libertad Digital, en el que viene a críticar desde un punto de vista liberal la actitud de Microsoft respecto al anuncio de la supuesta violación de 235 patentes.

16 de mayo de 2007

Google anuncia evolución hacia la Búsqueda Universal

Acaba de publicarse hace pocos minutos. La idea es que piensan modificar la interfaz para integrar todo tipos de búsquedas, ya no solo web: blogs, libros, grupos de noticias....la interfaz podría ser esta (Act: no, no es esa, es otra, y ya está activada asi que con solo buscar la podreis ver), que lleva muchos meses rondando por Internet de pruebas (Google activa ciertas características en ciertos grupos de población para obserevar las reacciones)

Tambien anuncian un servicio llamado Google Experimental en los laboratorios que supuestamente servirá para probar cosas experimentales del buscador que despues podrían pasar a la página principal.

14 de mayo de 2007

Microsoft: "El movimiento del software libre ha muerto"

Según el "director de la estrategia de la plataforma" de Microsoft

¿Sus convincentes argumentos? "Linux ya no existe en el 2007. Incluso Linus Torvalds tiene un trabajo hoy". "Ya no hay movimiento de software libre. Hay grandes compañías comereciales como IBM y hay pequeñas compañías comerciales como Ubuntu"

Toda una muestra de comprensión profunda del fenómeno del software libre, ¿eh? Pues no acaba ahí todo, porque este tipo lideró, antes de entrar a Microsoft, la estrategia Linuxera de IBM. Esto me hace plantearme muchas dudas sobre la eficacia de la estrategia de IBM con Linux. Pero me pregunto: ¿donde carajo pretende ir Microsoft con tipos que piensan así? Quiero decir a la hora de ganar dinero. Si no conocen a su enemigo, ¿cómo pretenden ganarlo?

Microsoft dice que GNU/Linux infringe 235 de sus patentes

Pues si. Exactamente 235, han dicho Brad Smith y Horacio Gutierrez a Fortune. No han dado la lista de patentes infringidas, pero si han especificado que el kernel infringe 42, los entornos gráficos 65, Open Office 45, los programas relacionados con email 15, y otras 68 variadas a lo largo de muchos programas.

La primera e inexplicable reacción de muchos defensores del software libre es no creerles y decir que es FUD, y que den la lista completa si tienen valor. Se equivocan: Es muy probable que esas patentes estén siendo infringidas. Y aciertan parcialmente en un factor: Microsoft no tiene huevos para dar la lista.

La principal razón por la que es muy probable que Microsoft tenga razón es que las patentes de software son, como bien sabemos, absurdas; y no es necesario copiar a nadie para infringirlas. En primer lugar son un ataque a la libre competencia empresarial: un método intervencionista de impedir que una compañía lanze mejores productos a un precio más ajustado que los ciudadanos deseen comprar, para beneficiar a otra compañía que tiene un producto peor a un precio mayor. Es decir, es algo que perjudica al bolsillo del ciudadano y en consecuencia a toda la sociedad (siento el rollo neoliberal pero era necesario).

En segundo lugar, y muchísimo más importante, las patentes de software no patentan invenciones concretas, sino ideas abstractas. Para hacerse una idea: Es como si una empresa patentara un método por el cual un panel vertical de madera o metal se sujeta de un lado a una superficie de sujección con unas bisagras y del otro lado se añade un objeto metálico de desplazamiento horizontal destinado a encajar en otra superficie. Así acabamos de patentar la puerta, todos los tipos de puerta, desde las de los coches a las casas. ¿Suena absurdo, verdad? Pues así funcionan las patentes de software, y no exagero ni un pelo. Ejemplo: Una compañía llamada Eolas denunció hace poco tiempo a Microsoft por una patente que decía algo por el estilo: Método por el cual un plugin de un navegador web puede mostrar al usuario una ventana popup. Es decir, denunciaba a Microsoft por permitir que los plugins y ActiveX del IE pudieran mostrar directamente una nueva ventana al usuario mediante un popup. Y Microsoft no pudo ganar el juicio por mucho dinero y abogados que le echó al caso. Y tuvieron que modificar el IE, y romper parte de la compatibilidad binaria, para suministrar una actualización al IE que eliminara la posibilidad de que los plugins del IE mostraran nuevas ventansas. ¿Absurdo verdad? Otro caso: Adobe denunció a Macromedia hace tiempo -antes de que la compraran, claro- por haber implementado una cosa que Adobe tenía patentada: Una paleta con pestañas. No les denunció por ningún algoritmo fastuoso, ni por robarles código no, les denunció por implementar una paleta con pestañas desde la que se podían arrastrar cosas. Y Adobe ganó y sacó 2.8$ millones a Macromedia.

Obviamente, existe una gran diferencia entre como son las patentes y como deberían ser. Existe una gran diferencia entre el ejemplo de antes que patenta todas las puertas, y patentar algo determinado. Yo podría entender que Microsoft patentara un producto concreto: Windows, Office; y como consecuencia de eso que denunciaran a los proyectos que tratan de implementar copias literales de Windows, como quizás Wine en la parte que implementa el toolkit gráfico, o esos gestores de ventanas que tratan de parecerse a Windows. Eso podría entenderlo. Lo que no entiendo ni nadie puede entender es que se patenten métodos para lanzar popups o paletas con pestañas. Por eso mismo digo que las patentes de software son tal disparate a días de hoy que es imposible que el software libre esté libre de pecado. En realidad ahora mismo es imposible escribir un programa que vaya un poco más allá del Hola Mundo sin infringir patentes.

Esto nos lleva a la segunda parte: Microsoft no tiene huevos para enseñar la lista de patentes. Es evidente que ellos saben lo ridículas que son muchas de sus patentes, a pesar de que puedan ganar juicios con ellas. Además, está el tema de las leyes antimonopolio: No creo que Microsoft quiera volver a resucitar ese fantasma atacando a su principal competidor en muchos campos; muchos jueces pensarían que tras esa cortina de las patentes hay acciones monopolistas. Y hay muchas otras razones: Linux es apoyado por un montón de empresas, entre ellas IBM o Sun. Sun está muy involucrada en el tema de las patentes de OpenOffice; aunque creo que la litigación del caso Java incluía un acuerdo Microsoft-Sun para no acusarse por patentes. El caso es que decenas de empresas distribuyen y colaboran en Linux al mismo tiempo que colaboran con Microsoft en otros campos. ¿Está dispuesta Microsoft a denunciar a Intel, que ha contribuido código no solo a drivers sino a la gestión de memoria, y ha vendido productos Linux (recordar aquel ordenador con netscape que vendían en España en asociación con un banco) y está planeando productos conjuntos con Canonical?

En cualquier caso, el mercado que mueve Windows es mucho mayor que el de Linux. Eso implica que el que más tiene que perder aquí es Microsoft: miles de millones de dólares. Si Microsoft recurriera a las patentes como estrategia de confrontación con Linux, lo haría para intentar frenar su crecimiento. De momento no lo hace, y se limita a recordar periódicamente -no es la primera vez- que Linux infringe sus patentes para crear miedo y escepticismo alrededor del software libre. El acuerdo con Novell tiene mucho que ver con todo esto, posicionando a Suse como la única opción legítima para aplicar software libre al mismo tiempo que tacha como sospechosas a todas las demás - importante mantener una opción viable desde el punto de vista de los juicios antimonopolio. Y desde el punto de vista de las empresas: las principales compañías del mundo utilizan Linux en algún lado y Windows en otro, y un ataque severo al ecosistema Linux no agradará a las empresas que lo utilizen ni ayudará a fortalecer vínculos con la compañía que indirectamente les ha dañado. Y si Microsoft se atreve a publicar la lista de patentes infringidas, se verá sometida a un ridículo público por lo absurdo de las patentes de software, y los programadores intentarán saltar muchas de esas patentes. Además, el público interpretaría desesperación en un ataque de patentes, y ayudaría a que la gente concibiera a Linux como una opción viable: "Aunque infrinja patentes, si Microsoft les ataca es porque Linux puede sustituir a Windows, y una vez que se solucione judicialmente el problema será una opción viable". De hecho, en el artículo enlazado al principio de éste, se dice que Microsoft va diciendo que si Linux es bueno, es porque copia ideas de Microsoft. ¿Lo ven? Linux es técnicamente capaz de sustituir a Windows.

4 de mayo de 2007

Dynticks

Ya he escrito sobre esto, pero como me han pedido que escriba sobre ello y lo que ya escribí sobre el tema era una mierda, lo vuelvo a contar.

Dynticks es una novedad que ha aparecido en Linux 2.6.21. Dynticks tiene que ver con la esencia de la multitarea y de los mecanismos que permiten que un sistema operativo moderno pueda ejecutar varios procesos simultaneamente sin que ninguno de ellos sea capaz de monopolizar la CPU y afectar a la estabilidad global del sistema.

Para entender que es dynticks, hay que entender la multitarea y hay que entender esos mecanismos. La multitarea se inventó hace décadas, concretamente en la década de los 60. En los grandes superordenadores de aquel tiempo se iban almacenando procesos en la memoria pero se ejecutaba solamente, desde que empezaba hasta que acababa. Con el tiempo la gente se dió cuenta que cuando un proceso utilizaba ciertos tipos de dispositivos de entrada/salida que eran muy lentos -una impresora, por ejemplo- el programa se pasaba mucho tiempo esperando a que el dispositivo terminara esa operación. Asi que construyeron sistemas en los que cuando un proceso se ponía a esperar a un dispositivo, se guardaba el estado del proceso y se ejecutaba otro que hubiera rondando por memoria. Esto permitía utilizar la CPU al 100% y no desaprovechar la máquina, que era lo que se buscaba. Sin embargo, no permitía interactividad: Un proceso podía perfectamente no utilizar ningún dispositivo de E/S y estar horas ejecutándose sin dejar ejecutarse a otro proceso. Esto al principio estuvo bien, pero luego la necesidad -que es la madre de todo buen software- y los usuarios pijos hicieron que varios usuarios quisieran tener acceso a la máquina simultaneamente sin tener que esperar a ningún proceso. Asi surgió la multitarea cooperativa, en la que los procesos cedían a menudo su turno en el procesador para poder dar la impresión de que todos los procesos se ejecutaban a la vez. Sin embargo, este sistema era frágil y evolucionó rápidamente en la multitarea apropiativa (preemptive).

La multitarea apropiativa consigue que ningún proceso pueda monopolizar la CPU. El mecanismo consiste en un temporizador que activa una interrupción periódicamente. Esa interrupción tiene más prioridad que ninguna otra. Cuando esa interrupción se activa, se guarda el estado del proceso, y se procede a ejecutar una rutina de código situado en uh lugar de la memoria que el sistema operativo debe haber especificado al arrancar. Esa rutina es el gestor de procesos, y su labor es decidir qué proceso debe continuar ejecutándose: el mismo u otro. Si no hay nada que hacer, simplemente llama a un trozo de código que consiste en un bucle infinito que es cuando se dice que el procesador no está haciendo nada. El temporizador volverá a ejecutarse, interrumpirá ese bucle, y vuelta a empezar. Aparte de todo esto están las interrupciones tradicionales: ratón, teclado, tarjeta de red, disco, etc; cuando se produce una de esas interrupciones tambien se para lo que se esté haciendo, en ese mismo instante, y se pasa a atender la interrupción. Pero eso no interesa demasiado ahora, puesto que el punto de vista que debemos mantener ahora es el de la CPU y el temporizador.

Esa es la base de todo sistema operativo moderno y es lo que hacen Linux, NT, OS X. ¿Cual es el problema de este sistema? Solo uno: Hoy en día, y especialmente en los dispositivos portátiles, es importante ahorrar energía. Por eso todos los procesadores modernos tienen, desde hace muchos años, una instrucción especial apodada HLT para ese "bucle infinito" en el que no se hace nada, y que está optimizada para ahorrar energía en la circuitería del procesador. Sin embargo, esto no es suficiente en cuanto a ahorro de energía. En los últimos años se han añadido modos de ahorro de energía que ahorran más energía que la ejecución en bucle de esa instrucción. El modo de ahorro de energía es activado por el sistema operativo cuando no hay nada que hacer, el procesador se pone en modo de ahorro de energía, y cuando la interrupción del temporizador llega el procesador "despierta" de ese modo y ejecuta el código del gestor de procesos. Estos modos son los llamados C-states, CPU-states, estados de la CPU. A día de hoy esto se gestiona mediante ACPI, y con estos modos el universo se ha redefinido para que todo sea un estado: El estado C0 es el estado normal en el que el procesador ejecuta instrucciones de un prpograma, el C1 es cuando se ejecuta la instrucción HLT, y el C2 y el C3 son los modos de ahorro de energía adicionales que se activan, por ejemplo, entre pulsación y pulsación de tecla en el word. Pero estos modos tienen un problema: Cuanto más "profundo" sea el modo de ahorro de energía, más latencia tarda en despertar el procesador de ese modo. Esto es debido a que los modos de ahorro de energía desactivan partes de la circuitería del procesador y se tarda algo de tiempo en volver a activarlas. Y significa que ese modo de ahorro de energía te cuesta rendimiento: Para volver a ponerte a ejecutar instrucciones porque, por ejemplo, llega una interrupción provocada por la llegada de un paquete a la tarjeta de red, tienes que sufrir una penalización adicional.

Pero esto no es todo. Aun con estos modos de ahorro de energía, hay que "despertar" el procesador para algo tan simple como una pulsación de teclado, puestos que son modos que solamente pueden activarse a la hora de "no hacer nada". Es más, aun si tienes algun programa utilizando aunque solamente sea un 20% del procesador -un programa de descarga P2P, por ejemplo-, tienes que salir de esos modos de ahorro de energía muy a menudo y ponerte a ejecutar sus instrucciones con la caldera del procesador consumiendo energía a tope. Para solucionar esos problemas en los últimos años tambien se han añadido los P-states, Performance-states, estados de rendimiento que consisten en reducir la frecuencia de funcionamiento del procesador para poder disminuir el consumo del procesador y de ese modo ahorrar energía; a costa, por supuesto, de rendimiento (para entenderlo mejor, podría apodarselo underclocking dinámico). La idea consiste en que si no estás utilizando el procesador al 100% y tan solo estás utilizando por ejemplo un 20-30%, puedes disminuir la frecuencia del reloj y empeorar el rendimiento del procesador. De ese modo, tu programa utilizará más % de CPU, pero lo hara consumiendo menos energía (aunque sea durante más tiempo) y consumirá aun menos cuando no lo esté utilizando. Así, un Via C7-M 795 puede pasar de consumir 20 W a 2 GHz, a consumir tan solo 5, funcionando a 400 MHz. Los estados del procesador C2 y similares, por supuesto, se siguen aplicando, aunque siguen ahorrando la misma energía, ellos van aparte del escalado de frecuencias. Todos esto lo llega a percibir el usuario en su portátil en esos selectores que le permiten escoger entre optimizar para consumo y optimizar para el rendimiento: Según lo que el usuario elija o dependiendo de si está conectado a un adaptador o tira de batería, el sistema operativo cambiará de unos modos a otros.

Una vez puesto todo esto sobre la mesa, tan solo queda hablar de Dynticks. Dynticks no cambia nada a como funciona los mecanismos de la multitarea, pero las explota de una manera que los sistemas operativos de propósito general no lo habían hecho nunca. En vez de ejecutar programar el temporizador a una frecuencia fija (1000 veces por segundo en Linux 2.6, 100 en Linux 2.4, 100 o 100 y pico en XP) y ejecutar un bucle con la instrucción HLT cuando el sistema no tiene nada que hacer, el kernel mira primero la lista de temporizadores que los procesos del sistema tienen de forma directa o indirecta en el kernel, y busca el más próximo. Si el más próximo no va a necesitar ser atendido hasta dentro de, pongamos, un segundo (una barbaridad para un procesador); el kernel programa el temporizador del kernel no para dentro de 1/1000 segundos,que es la frecuencia fija que se suele utilizar, sino para dentro de un segundo. Esto significa que el procesador podrá pasarse -si una interrupción de un dispositivo no se cruza en su camino- todo un segundo en el estado C2/C3; algo que no puede hacer normalmente, puesto que está forzado a despertarse del modo C-state cada vez que el temporizador se "despierta". Y esto ahorra más energía, claro. En un sistema con dynticks activado, el número de interrupciones por segundo pasa de 1000/s (lo mínimo que se puede llegar a tener con el temporizador programado a despertarse 1000 veces por segundo) a 1-2 por segundo; estando sin hacer nada, claro.

Dynticks ha tenido además un efecto secundario beneficioso en el mundo de la virtualización: Puesto que un sistema real sin dynticks llama al temporizador 1000 (en linux) veces por segundo, cuando es virtualizado necesita que el huesped virtualize esas 1000 interrupciones por segundo. Si le añades varias CPUs virtuales a un huesped que tenga un solo procesador te encontrarás con que tan solo sin estar haciendo nada, la gestión de esas interrupciones del temporizador come mucha CPU del huesped. Con dynticks, al reducirse el ritmo de interrupciones por segundo cuando no se hace nada, el huesped se ahorra CPU, lo cual le permite tambien ahorrar energía, sobre todo si el huesped tambien utiliza dynticks.