30 de abril de 2008

KDE 4 Alpha 1

Parece ser que ya hay un KDE 4 Alpha 1. En Arstechnica lo ven muy prometedor, e incluso tienen un par de capturas de pantalla. Por otra parte, en esta página se puede ver una lista completa de cosas que tendrá. Yo por mi parte espero que se centren en la usabilidad de los plasmoids básicos de KDE, que son las cosas que más me han incitado a no usarlo como escritorio por defecto.

29 de abril de 2008

Btrfs 0.14

Chris Mason anuncia una nueva versión de btrfs:

"The major new feature is the ability to manage multiple devices under a single Btrfs mount. Raid0, raid1 and raid10 are supported. Even for single device filesystems, metadata is now duplicated by default. Checksums are verified after reads finish and duplicate copies are used if the checksums don't match."

Es decir, que a partir de esta versión un sistema de archivos btrfs puede abarcar varios discos por si mismo sin recurrir a LVM, y se podrán replicar los datos y comprobar y arreglar la corrupción de datos de manera automática y silenciosa. Los benchmarks (comparandolo con XFS sobre DM) muestran que es bastante rápido, especialmente teniendo en cuenta que btrfs utiliza checksumming y xfs no.

28 de abril de 2008

Por qué odio NetworkManager

Ya se que a todo el mundo le gusta NetworkManager, pero lo que es a mi no. Resulta que el demonio de NetworkManager -en todos los sentidos de la palabra demonio- me espamea lo siguiente al daemon.log:

Apr 28 20:35:27 diego-desktop NetworkManager: [1209407727.907133] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_4a5_308a_noserial').
Apr 28 20:35:29 diego-desktop NetworkManager: [1209407729.433833] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_4a5_308a_noserial_if0').
Apr 28 20:35:31 diego-desktop NetworkManager: [1209407731.837472] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_4a5_308a_noserial_if0_scsi_host').
Apr 28 20:35:31 diego-desktop NetworkManager: [1209407731.839509] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_4a5_308a_noserial_if0_scsi_host_scsi_device_lun0').
Apr 28 20:35:31 diego-desktop NetworkManager: [1209407731.864723] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/usb_device_4a5_308a_noserial_if0_scsi_host_scsi_device_lun0_scsi_generic').
Apr 28 20:35:33 diego-desktop NetworkManager: [1209407733.035065] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/storage_serial_BenQ_Corporation_Digital_Camera').
Apr 28 20:35:33 diego-desktop NetworkManager: [1209407733.242152] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/volume_uuid_0807_DF37').

Es decir...que al "escuchar" en dbus para que avise del hardware que hald detecta que se ha conectado al sistema, escribe en el daemon.log la información que va recibiendo, ¡incluso no se trata de un dispositivo de red sino de una cámara digital, como puede comprobarse!

Me dirán que es una minucia, pero si cada programa que escuchara mensajes de dbus se pusiera a imprimir lo que capta, acabaría con un DoS de syslog (afortunadamente, el resto de programas no parecen ser tan malos). Me dirán que el "debug" revela que es información de depuración, pero resulta que no hay una opción -al menos, no documentada- para desactivar esos mensajes. Me dirán que esa información podría ser interesante, pero es que ni tan siquiera hald juzga que es importante poner en los logs esa información. Solo tiene una ventaja: Gracias a eso, se que debo desactivarlos, aunque aun estoy intentando adivinar como, porque no se inicia a traves de un típico script en /etc/init.d, sino a través de archivos de configuración de dbus, que al parecer son algo mágico, o más bien incomprensible.

26 de abril de 2008

Donald Knuth desprecia el unit testing

Donald Knuth dice en esta entrevista que no le van mucho los unit tests.

Definitivamente, debería haberme dedicado a la jardinería.

(Por cierto, coincide con Linus Torvalds en pensar que la tendencia multicore es una prueba de que los diseñadores de hardware ya no saben que hacer y que podría acabar como acabó el Itanium)

(Spam: en mi blog de política, "Dos feeds menos, el 2 de Mayo sigue vivo")

25 de abril de 2008

Nubes en el paraiso MSFT

Al que madruga Dios le ayuda, y para un día que madrugo ese refrán se ha cumplido, y no puedo evitar bloguearlo ya mismo. Lo que muchos Linuxeros y Maqueros desean se ha hecho realidad hoy: Malos resultados financieros para Microsoft.

Los resultados del trimestre anterior, presentados hoy, no son muy brillantes para Microsoft. Los ingresos de la compañía han crecido solo un 1% -en términos de Wall Street un crecimiento tan raquítico es como si fuera negativo-, de 14.290 millones a 14.450. Los beneficios han caido de 6.590$ millones a 4.410$, en parte ayudado por una la multa de 1.420$ millones la Comisión Europea.

Echando un ojo a las divisiones, la de "Clientes", que es a la que pertenece Vista, los ingresos caen un 24% respecto al trimestre anterior. Aunque pueda parecer que esto es una muestra de las ventas catastróficas de Vista, los de microsoft-watch dicen que los resultados son normales teniendo en cuenta que en el trimestre del 2007 con el que se le compara se produjo el lanzamiento de Vista, que provocó un subidón de ventas. Aun así, descontando ese subidón los de microsoft-watch afirman que las ventas caen un 2%: Es decir, Vista se está vendiendo mal, pero no "horriblemente mal". La divisón donde se vende el Office, por su parte, cae un 2% en recaudación, pero crece un 9% si excluimos la publicación de la nueva versión de Office, de nuevo según microsoft-watch.

A sostener este bajón de Vista han colaborado la división de servidores, que ha crecido un 18%, debido a nuevas versiones de Windows Server 2008, SQL Server y Visual Studio, y la división de entretenimiento (xbox), que por primera vez sale de números rojos y tiene un beneficio de 89$ millones. Eso si, para tener ese beneficio Microsoft ha necesitado ingresar 1.576$ millones.

La división restante, la de servicios online, la de live.com, la que pretende acabar con Google, sigue en su línea, creciendo un 29% en ventas (48% si añadimos la compra de aQuantive), pero incrementando sus pérdidas de los -171$ millones a los -228$. A este paso el éxito de su iniciativa online se va a comer todos los beneficios de la empresa.

24 de abril de 2008

Negroponte dice que usar solo software libre fue malo para el OLPC

Atentos:

"The founder and chairman of OLPC has admitted that only using open-source software has not been good for the project. Just a day after the resignation of group president Walter Bender, Nicholas Negroponte admitted that the choice of the Sugar operating system has hit the XO laptop project in two places: usability; and popularity."

¿En que quedamos, señor Negroponte? ¿El problema viene de usar software libre, o de la interfaz Sugar, que no es buena?

20 de abril de 2008

El valor de los tests de estándares

Como ustedes sabrán, el test Acid 3 ha sido recientemente blanco de muchos rumores y noticias, no solo debido a su aparición, que tambien es reciente, sino a que Webkit y Opera ya lo pasan. Entre la comunidad de usuarios y desarrolladores de Firefox no ha sido muy bien recibido, y los mal pensados, que como dice el refran son los que aciertan, dirán que en gran medida es por la envidia. Yo tambien pienso mal. Es decir, si Firefox pasara la prueba seguramente sería objeto de alabanzas, pero como no la pasa se la pone en duda. En cuarentena. Cuando la pase, las dudas se difuminarán como los consejeros de un político cuando éste pierde su cargo.

Sin embargo, ha habido críticas más razonadas que han despertado en este humilde bloguero cierto interés. Esas críticas no tratan de invalidar al test mostrándolo como algo erroneo, sino que tratan de demostrar que aunque bien es cierto que Firefox no pasa el test, el hecho de que no lo pase no significa, como muchos afirman a la luz de los avances de los otros navegadores en éste asunto, que Firefox no tiene un magnífico soporte de estándares o incluso que Webkit y Safari van años luz por delante.

Uno de los razonamientos más interesantes es el que hace David Baron en su blog, sugiriendo que miremos el test Acid 3 de otro modo: ¿Cuantos puntos del test pasaban los navegadores justo antes del test, es decir, el mismo día que fue publicado? Resulta que quien más puntos pasaba era Firefox 2.0: 52, frente a los 46 de Opera 9.20 y 39 de Safari. Incluso si miramos más atrás, al día de publicación de Acid 2, tambien Firefox tambien era el que mejor lo pasaba. Según David, esto demuestra que Firefox ha respaldado históricamente y respalda con firmeza los estándares web, más allá de la búsqueda de propaganda que supone ser "el primero" en pasar un test.

Otra de las críticas es que los sub-tests del Acid 3 no representan con fidelidad a los estándares web más importantes, es decir, que el test se trataría de una búsqueda de cosquillas a los navegadores que no pone a prueba funcionalidades que se utilizen extensivamente en la web con la que los usuarios se enfrentan día a día. Prueba de ello sería esta entrada del autor de Acid 3 de cuando estaba desarrollando el test, y en la que pide a la gente que colabore con sub-tests, y uno de los requisitos es que se centren en que el sub-test no lo pasen ni Firefox ni Webkit, porque "Opera e IE están fallando montones de sub-tests, no quiero añadir más sub-tests que solo fallen en uno de ellos". Es decir, que en vez de buscar tests que representen los estándares web maś utilizados y relevantes se han creado tests rebuscados, que no se centran tanto en la web como en los motores de los navegadores, y precisamente en los motores que más estándares soportan, con lo cual el fallo que hayan encontrado estará aun más rebuscado.

Otro ejemplo de este punto de vista anterior se apoya en que los subtests deben probar estándares que no hayan sido aprobadas despues del 2004 - hace 4 años. Eso excluye todos los esfuerzos que ha hecho Firefox para soportar muchas cosas nuevas, por ejemplo partes del futuro HTML 5, como <canvas>, almacenamiento "offline", además de nuevas APIs en el DOM, Javascript 1.8....sin embargo los tests si que prueban funcionalidades "exóticas" de estándares antiguos.

Respecto a que Firefox no pase aun el Acid 3, hay que hacer notar que Firefox, a diferencia de Opera y Webkit, no ha declarado una cruzada al Acid 3 para ser el primero en pasarlo. La razón, ya comentada por aquí, es que su publicación inicial ha llegado, como el Acid 2, justo al final del proceso de desarrollo. Los programadores de Firefox 3.0 están demasiado ocupados preparando -estabilizando- el lanzamiento de la nueva versión, y no han dado mucha importancia a la lista de bugs del Acid 3, excepto para los fallos más sencillos de solucionar. De hecho hay ya algunos bugs con parches que subirían la puntuación en el test pero que no van a ser incluidos en Firefox 3...por el riesgo que supone incluirlos en este momento. Los de Opera y Webkit, bien sea porque no están ocupados estabilizando una versión final, bien sea porque dan prioridad máxima a la publicidad que supone pasar el test, han seguido una política totalmente opuesta a Firefox en este sentido.

Todo esto, por supuesto, no es una excusa para no pasar el Acid 3. Firefox acabará pasandolo, lo que debaten la gente de Firefox es que este test refleja pobremente el soporte real de estándares de los navegadores.

Última nota, personal: Resulta sorprendente que Opera se obsesione con tests como el Acid 3, mientras que otras áreas del navegador son bastante más débiles, como la usabilidad (¿exactamente por qué me pone opera un icono en el systray? ¿y para qué quiere la mayoría de la gente, en pleno 2008, desactivar las imágenes de una web y quedarse solo con el texto?). Históricamente, Opera ha sido famoso por tener un motor web rápido, eficiente y avanzado en soporte de estándares. Cuando empezé a usar Linux en mi Cyrix 233 con 32 MB de RAM, era Opera el navegador que utilizaba, porque la escasez de recursos me impedía usar cualquier otro. Siempre me gustó mucho eso de Opera y he admitido sin complejos su superioridad técnica. Sin embargo esa superioridad no le ha permitido robar cuota a IE como lo ha hecho Firefox con su usabilidad. Y ahora me encuentro escribiendo esto desde una nightly de Firefox 3, y tengo aquí la última beta de Opera 9.50 (Beta 2 Build 1929, del día 17 de este mes, es decir, hace 3 días), y he comparado los dos navegadores con la cache y etcéteras limpios como una patena. He probado a abrir cinco páginas recargadillas, abiertas en el mismo orden, en la misma pestaña...y el consumo de memoria Opera es francamente superior (20-30 MB) al de Firefox 3. De igual modo, la puntuación en el benchmark de javascript SunSpider para Opera es 7195, para Firefox 3 4424 (mejor cuanto menor sea). ¿Se han obsesionado con pasar el Acid 3 mientras han descuidado otras áreas?.

18 de abril de 2008

Tiempo Real "seguro" en el escritorio

El hacker de Pulseaudio, Lennart Sorensen, que aparte de saber de sonido parece saber un par de cosas sobre programación en "tiempo real", ha escrito un magnífico post explicando por qué a partir de 2.6.25 en Linux se puede usar de forma segura las funcionalidades de tiempo real incluso en el escritorio, gracias a una de sus novedades, 'Real Time Group Scheduling'. Parece ser que quiere hacer que Pulseaudio utilize la funcionalidad de tiempo real por defecto en Fedora en el futuro.

(Spam: En mi blog de política, "¿Y si la economía no va tan bien?")

17 de abril de 2008

Sun cerrará partes de MySQL

Sun acaba de crear un revuelo acojonante -y acongojante al mismo tiempo- con unos pequeños cambios que acaba de anunciar para MySQL, conocida empresa que como ustedes saben fue comprada por Sun hace poquito. Resulta que parte de futuras novedades de MySQL -en concreto, algo llamado "online backup", además de otras cosas en el futuro- estarán disponibles solamente bajo licencias privativas en la versión de pago de MySQL. Es decir, que lo que es libre, solo será software libre (gran) parte de MySQL, pero otras partes serán de pago, lo cual obligará a los usuarios que necesiten esas partes a plantearse la adquisición de una o varias licencias.

Puede resultar sorprendente esta decisión de Sun, la empresa que liberó Solaris, que liberó nada menos que Java, que compró y liberó OpenOffice, la gran alternativa al imperio Office. Pero para quienes hemos seguido con cierto escepticismo -y recuerden que ser escéptico es algo bueno, excepto con las mujeres- el acercamiento de Sun al software libre, no nos sorprende para nada. Lo que acaba de hacer Sun con MySQL es exactamente lo mismo que hace con Opensolaris, Openoffice y Java; para todos ellos tiene Sun una versión "comercial" con partes privativas cuyas fuentes no están disponibles al público. ¿Como puede Sun hacer esto, si es software libre y en algunos proyectos incluso están licenciados bajo la GPL? Red Hat, por ejemplo, no puede tener un kernel privativo, la licencia GPL se lo prohibe. ¿Como lo hacen en Sun?

Sun puede hacerlo porque a diferencia de Red Hat posee el copyright de todo. Posee el copyright de todo el código de Opensolaris, de todo Openoffice, de Java...y de MySQL. Al poseer el copyright, puede sacar copias del código bajo la licencia que les apetezca. Pueden sacar una versión privativa de pago, otra GPL, y si quisieran podrían sacar una por cada licencia que existe en el mundo, circunstancia que aprovecha para sacar una gran parte del código bajo licencias libres bajo las que se forman comunidades de desarrolladores, mientras que otra parte del código se publica solamente bajo licencia privativa, como está haciendo con MySQL. ¿Pero como es posible que Sun posea todo el copyright de esos proyectos, si en ellos contribuyen otras personas, ej. Novell y Red Hat en Openoffice?

Es posible porque en todos sus proyectos Sun pide a los contribuidores de código que firmen una cosa que se llama copyright assignment, es decir, que Sun exige que quienes participan en el desarrollo les cedan el copyright a ellos. Novell y Red Hat, por ejemplo, emplean a muchas personas para que mejoren OpenOffice, pero en todo el código que generan Red Hat da permiso a Sun para gestionar su copyright en ese código. En teoría Sun dice que es por comocidad, para facilitar posibles altercados judiciales, etc. En la práctica, el principal uso del copyright assignment es sacar versiones privativas de pago del software. Por supuesto, los colaboradores podrían optar por no ceder el copyright, pero si no lo hacen Sun no acepta las contribuciones de código en openoffice.org/opensolaris.org/java/mysql. Podrían crear un fork del código y establecer una comunidad y un repositorio de código donde no existan las cesiones de copyright, pero por el momento todos han preferido las ventajas de la unidad a la división, a pesar de que resulta totalmente patético que Sun se aproveche del trabajo de Red Hat y Novell de esa manera, y ellos no tengan derecho a hacer lo mismo. Quien más reticencia ha opuesto a este sistema ha sido IBM, que mejoró Openoffice en gran medida para un producto propio, pero se negó a contribuir al código precisamente por la cesión de copyright, aunque hace unos meses puso a 35 programadores chinos a contribuir a openoffice.org.

Sun no es la única que exige cesiones de copyright. Tambien lo exige la FSF para todos sus proyectos y la Apache Foundation. A mi tampoco me gusta, pero la diferencia es que estas dos son fundaciones, y jamás utilizarán tu copyright para sacar versiones privativas con las que lucrarse. Sun, sin embargo, lo hace para lucrarse. Hay una clara diferencia. Y ha quedado pero que muy claro hoy, con estas noticias que recibimos sobre MySQL, pues mientras que openoffice.org, opensolaris y java con MySQL eran privativos y la cesión de copyright era un "mal menor" teniendo en cuenta su liberación, en el caso de MySQL estamos hablando de un ligero movimiento hacia lo privativo. Es decir, Sun no tiende a la libertad a la que estamos acostumbrados en muchos otros sitios, sino a su concepción particular de libertad, que implica poder sacar versiones privativas. Para poder mantener este ecosistema es imprescindible que Sun se erija como centro de las comunidades de software libre, pues la cesión de copyright es un requisito que Sun solo puede exigir en sus repositorios de código, no en los de un hipotético fork competidor. Miren en las noticias y diganme qué oyen decir al CEO de Sun continuamente. Por cierto, no hay que descartar un fork de MySQL. Eso si, no tendría muchas posibilidades de sobrevivir.

Para terminar, recomendarles este enlace. No se mucho de bases de datos, pero todo el mundo (el 99% de los comentarios que veo en cualquier foro de internet) dice que ha mejorado de tal manera en las últimas versiones en todos los sentidos (además de su consabida superioridad técnica en muchos frentes) que considerar MySQL es perder el tiempo. Está licenciado bajo la BSD, lo cual implica que cualquier persona puede hacer lo que hace Sun con su cesión de copyright, pero al menos pueden hacerlos todos, no solo uno. Las reglas están claras, no te toman el pelo.

(Spam: En mi blog de política, El trasvase que no lo es)

10 de abril de 2008

Pulseaudio "glitch-free" + GTK

Vía OSnews, me he topado con este magnífico post del autor de Pulseaudio, explicando cual es el modo de funcionamiento de los actuales subsistemas de sonido linuxeros, y como él ha implementado en Pulseaudio un diseño diferente "glitch-free", o sea, sin cortes -y como bonus, más eco-eficiente-, similar a lo que él dice que hacen Vista y Core Audio, y que supuestamente en pocos días será publicado en forma de nueva versión de Pulseaudio. Espero que en KDE se pasen a Pulseaudio o al menos implementen algo similar.

Por otro lado, en Ars Technica tienen un artículo muy interesante titulado "Reinventing GTK" que habla sobre los esfuerzos que se están haciendo para renovar GTK y ponerlo al día. A pesar de que mi opción linuxera sea la de la luz, o sea, la de KDE, y ponga a parir a Gnome cada vez que tengo oportunidad, lo cierto es que me alegran un montón las noticias como estas. Eso es porque soy una persona positiva y deseo el bien a mis enemigos.

Al fin y al cabo, mi MUA ha sido desde siempre sylpheed, y aunque algunas personas dicen que los efectos gráficos no mejoran la productividad, mi opinión es que puede empeorarla, lo cual es una razón más que suficiente para introducirlos.

9 de abril de 2008

Ruby -> Javascript

En este blog de gente relacionada con Mozilla hablan sobre un conversor de Ruby a Javascripy, de modo que puedes programar parte de una web en Ruby y hacer que se pueda usar en cualquier navegador que soporte Javascripy.

Lo divertido de este sistema de traducción de lenguajes es que un script de ruby traducido a Javascripy se ejecuta 5 veces más rápido -500%- en la VM de Javascripy de Firefox 3 que en el propio interprete de Ruby. Los que tengan problemas de rendimiento con RoR, que son unos cuantos, quizás deberían probar a reemplazar su intérprete de Ruby con este invento. Ya sabeis: El Javascripy mola mogollón, funciona en el explorer y tambien en firefox...

(¿Se nota mucho que no me gusta RoR?)

VIA se apunta a los drivers libres + Intel Nehalem

Via anuncia hoy que colaborará para proporcionar drivers libres para Linux. Drivers para sus chipsets y, sobre todo, para sus chips. Nvidia cada vez está más sola.

Lo curioso es que dicen que acoplarán su ritmo de desarrollo con el del kernel:

To further improve cooperation with the community, VIA will also adhere to a regular quarterly release schedule that is aligned with kernel changes and release of major Linux distributions.

Por otro lado, Jon Stokes ha publicado un magnifico artículo sobre Nehalem (en Real World Technologies hay otro artículo mucho más descriptivo), que es la arquitectura que será la base de todos los productos de Intel. Hay que destacar que a partir de este diseño Intel por fin añade el controlador de memoria a la CPU, y sobre todo, abandona su arquitectura de bus central (todos los procesadores comparten el mismo canal de acceso a la memoria, lo cual lo convierte rápidamente en un cuello de botella) por uno imitación del que AMD lleva utilizando desde hace años, que a su vez era una copia de los Alpha (AMD licenció la tecnología, de hecho).

Con el nuevo diseño, cada CPU tiene su propio acceso directo individual a una parte de la memoria, pero no a la de los demás, de modo que cada CPU puede saturar ese acceso, pero solo el suyo, eliminandose así el cuello de botella central. Si una CPU quiere acceder a la memoria "de" otro procesador, lo cual es imprescindible para mantener una "visión" unificada y coherente de la memoria, la CPU lo hace a través de un bus de comunicación entre procesadores que en AMD fue apodado "Hypertransport" y en Intel se llama "Quickpath" y es, por cierto, mucho más rápido. Además, parece ser que Nehalem supone el retorno del famoso Hypertreading.

8 de abril de 2008

Otro más

Otro miniportátil con Linux. HP anuncia el rival del Eee PC. Puede elegirse entre SUSE o Windows, lo cual lo convierte en un cutreportátil más. Eso si, tiene toda la pinta de estar mejor terminado que el Eee PC. Algo de experiencia si que tiene HP en eso de montar trastos.

La CPU es mala: un Via C7-M a 1.6 GHz, que como señalan los de The Register, es muy inferior a las ofertas de Intel, tanto en rendimiento como en consumo. La gráfica, tambien VIA, probablemente sea más o menos igual a las ofertas de Intel.

Quizás por eso el precio inicial de 500 dólares -318€ al cambio, pero como siempre nos lo venderán a 450 o por ahí- me parece caro, da la impresión de que han metido un cutreprocesador para rebajar los costes acrecentados por los extras del ordenador. Aunque tenga 2 GB de memoria y disco duro de 120 GB (con opción a 160 y 7200 rpm o 5 GB de SSD) y lector de memorias de esas de las cámaras de fotos, si el celeron 900 "Ultra Low Voltage" del Eee PC es -teniendo en cuenta la diferencia de 300 MHz- bastante más rápido que un VIA C7-M a 1.2 GHz, es probable que el de este portátil, que es a 1.6 GHz, sea más o menos igual de rápido que el Celeron 900 pero con un mayor consumo. ¿Quizás HP se ha gastado demasiado en añadir 2 GB de RAM y disco duro de 120 GB solo para poder ofrecer Vista como opción?

(Spam: En mi blog de política, "¿Sienta el PSOE la cabeza?")

6 de abril de 2008

iTunes, por encima de todos

Como cuentan en Referenta -que hasta el momento está cumpliendo e incluso superando las expectativas de calidad que prometían-, Apple ya es el principal distribuidor de música de EEUU. No de música online, que de ese sector lo fue desde sus inicios, sino de música en general. Se venden más canciones mediante iTunes que en ninguna otra tienda.

Otra cosa son los datos globales. Según Referenta las ventas totales de música online es un 30% del total. iTunes es el principal distribuidor porque domina ampliamente ese 30%, algo que ninguna otra tienda hace en el restante 70% correspondiente a los CDs. Aun así, la tendencia es clara, y las discográficas importantes que aun son reticentes a la venta online, que son casi todas en mayor o menor grado, van a tener que rendirse a la evidencia o perder un porcentaje importante y cada vez mayor de sus ingresos. Quienes no se rindieron a iTunes por visión de futuro lo harán por motivos económicos. Esta rendición vendrá acompañada de un apoyo a iTunes en creces y una promoción inducida masiva y gratuita de la tienda, que alimentará a su vez el fin del CD. Sirvan de ejemplo las cadenas de radio, que ya informan hace tiempo de "las canciones más descargadas (legalmente)".

Todo esto pone en un lugar privilegiado a Apple, como hipotético dominador absoluto de distribución de algo tan importante en nuestra sociedad como es la música.

4 de abril de 2008

Monopolios y monopolios

Microsoft intentó paralizar la compra de Doubleclick por parte de Google, argumentando que convertiría a Google en un monopolio de la publicidad online.

Quizás tuviera razón, pero los reguladores aprobaron finalmente la compra. Eso si, Google anuncia ahora que venderá parte de Doubleclick. Concretamente, la parte de marketing encargada de posicionar páginas en buscadores. Google no quiere tener a unos señores que se dedican a pervertir los resultados de las búsquedas.

En resumen, que hay monopolios...y monopolios.

¿Qué novedades traerá Linux 2.6.25?

Aunque esté al borde del límite, llego a tiempo de hacer un resumen de lo que traerá Linux 2.6.25.

  • RCU 'apropiativo' ('preemptible'): RCU es un sistema de sincronización inventado por IBM y que permite a Linux escalar a máquinas con miles de procesadores. Sin embargo, una parte del sistema de RCU no es 'apropiativo', es decir, no puede ser interrumpido mientras se ejecuta, lo cual puede ser un foco de latencias demasiado grandes para ciertos usos. En 2.6.25 se puede elegir entre el RCU clásico y el nuevo, que es apropiativo. Este nuevo sistema ha sido desarrollado a la sombra de los esfuerzos que tratan de hacer que Linux sea un SO de tiempo real.

  • 'Real Time Group scheduling' (creo que voy a dejar de intentar traducir estas cosas): En 2.6.24 se introdujo un sistema que permitía organizar las prioridades de CPU de manera mucho mas flexible que nice. Permite organizarlo de forma tTotalmente arbitraria, de hecho: puedes coger cualquier grupo de procesos escogidos al azar y darles los privilegios que quieras. En 2.6.25 se ha extendido este sistema para que pueda manejar, además de los procesos "normales", los procesos SCHED_RT, es decir, de tiempo real, y trate de satisfacer sus necesidades especiales. (Además de esto, se ha mejorado el sistema de balanceo de procesos entre CPUs del gestor de procesos, para gestionar mejor las necesidades de los procesos de tiempo real - como se puede ver, hay mucho movimiento alrededor de este tema)

  • 'Memory Resource Controller': Basado en la misma infraestructura de configuración que el anterior punto (cgroups), esto permite configurar algunos aspectos de la utilización del recurso de la memoria a grupos de procesos elegidos al azar. Por ejemplo, puedes crear un 'grupo', configurarlo para que los procesos de ese grupo no consuman más de 256 MB, y añadir los procesos que quieras a ese grupo, por ejemplo una sesión de X.org + Gnome que quieres probar qué tal va con 256 MB sin tener que recurrir a reiniciar con el parámetro "mem=256". Es de esperar que con el tiempo este sistema permita configurar otros aspectos del uso de memoria.

  • Spinlocks FIFO: Los spinlocks son una de las principales herramientas de sincronización en linux: cuando un proceso adquiere un spinlock, hasta que no lo suelte el resto de CPUs que intente adquirirlo a petición de un proceso entrará en un bucle cerrado. Las pruebas han demostrado que incluso con pocas CPUs, hay posibilidad de que algunas CPUs sean discriminadas y pasen demasiado tiempo en el mismo spinlock mientras que otras CPUs lo adquieren y sueltan miles de veces. Con los nuevos spinlocks (solo x86), los spinlocks son FIFO: las CPUs consiguen permiso para adquirir el spinlock en el mismo orden en el que le solicitaron por primera vez. Esto permite asegurar que ninguna CPU es discriminada por otras y hace que los spinlocks sean un poco más deterministas. Como bonus, el número teórico máximo de CPUs soportadas se incrementa a 65535.

  • Nuevas herramientas de medición de memoria: Medir la memoria que utiliza un proceso no es sencillo en un mundo donde muchos procesos comparten grandes cantidades de memoria. Las herramientas actuales no son exactas. En 2.6.25 cada proceso exporta en /proc información sobre las páginas que ese proceso está utilizando. Comparando esa información con la de otros procesos se puede conocer con mayor exactitud el uso de memoria de cada proceso.

  • timerfd(): Tradicionalmente en Unix las notificaciones de eventos del temporizador se hacen mediante señales, lo cual es muy engorroso. poll()/epoll() solo funcionan con descriptores de archivo, y por lo tanto no pueden utilizarse con estos eventos. Para solucionarlo, los sistemas UNIX modernos han incorporado sistemas, como FreeBSD/OSX con kevent, y Solaris con un sistema similar. En linux se ha optado por una solución más unixera: con timerfd() se pueden programar eventos en el temporizador, obtener un descriptor de archivo, y utilizar poll/epoll/read con esos descriptores.

  • Latencytop: Se trata de una pequeña infraestructura que permite visualizar cuales son las fuentes de latencia máxima en el kernel. El programa para poder verlas se encuentra en latencytop.org (tambien hay capturas de pantalla).

  • SMACK, Simplified Mandatory Access Control: Se trata de un sistema de seguridad basado en los mismos principios que SELinux, pero menos capaz y más sencillo de configurar. Al igual que Linux tiene varios sistemas de archivos, ahora tambien habrá varios sistemas de seguridad para que la gente elija el que más le convenga, visto que SELinux no complace a todo el mundo.

  • Randomización de ejecutables PIE y del BRK: la ubicación de la memoria manejada por brk() y por ciertas secciones de los ejecutables PIE (Position Independent Executable) se decide de manera aleatoria.

  • Actualización de Ext4: Asignación múltiple de bloques, mayor tamaño máximo de bloque, checksumming en el journal, soporte de sistemas de archivos y archivos de mucho mayor tamaño...con esta actualización ya esta casi todo de lo que traerá Ext4, de hecho ya están todas las que cambian de algun modo el formato del sistema de archivos en el disco, pero aun faltan algunas como delayed allocation.

  • Arquitectura MN10300/AM33: Soporte para una nueva arquitectura que no la conoce ni el que la inventó.

  • Regulación Termal de ACPI: No se exactamente lo que hace, pero Linux lo soporta. Adicionalmente se añade soporte para WMI, una extensión propietaria de ACPI hecha por Microsoft.

  • Protocolo CAN: Para sorpresa de todos, Volkswagen ha decidido contribuir con una implementación de CAN (Controller Area Network), un protocolo de red muy raro


Eso es todo. Tambien hay muchos nuevos drivers, y etc etc. Para más información, visiten la página completa de Linux 2.6.25. (Spam de mi blog de política: '¿Qué importan las armas de destrucción masiva o si fue legal?')

1 de abril de 2008

Intel dice que tiene la varita mágica

Nadie sabe como hacer que cualquier tipo de software pueda aprovechar todo el potencial de los procesadores multicore. La programación multihilo puede ser un gran coñazo que dificulta una tarea ya de por si bastante compleja y propensa al error.

Ahora Intel dice que tiene una varita mágica que, sin colaboración alguna del programador, recompilará los programas actuales de modo que aprovechen las máquinas multiprocesador.

Yo no me lo creo. Demasiado fácil. Por mi parte esperaré a que enseñen esa varita mágica, para ver si es cierto o no.

Noruega detecta irregularidades en la votación de OOXML

Como probablemente sepa todo el mundo, se están celebrando las nuevas votaciones de OOXML. Microsoft se va a salir con la suya (casi no hay duda), pero no dejan de oirse, como se oyeron la primera vez, protestas, la mas seria la de Holanda, que dicen que le han contado el NO por SI:

I am writing to you in my capacity as Chairman (of 13 years standing) of the Norwegian mirror committee to ISO/IEC JTC 1/SC 34. I wish to inform you of serious irregularities in connection with the Norwegian vote on ISO/IEC DIS 29500 (Office Open XML) and to lodge a formal protest.

You will have been notified that Norway voted to approve OOXML in this ballot. This decision does not reflect the view of the vast majority of the Norwegian committee, 80% of which was against changing Norway's vote from No with comments to Yes.

Because of this irregularity, a call has been made for an investigation by the Norwegian Ministry of Trade and Industry with a view to changing the vote.

I hereby request that the Norwegian decision be suspended pending the results of this investigation.


En otras palabras, su voto probablemente cuente como abstención.

Linus usa Amarok

Linus Torvalds ha abierto un bug en Fedora porque su esposa no puede ver YouTube. En uno de los comentarios, se puede leer:

I know sound works, because amarok and other apps have no problem. Any clues?

Tampoco él ha podido resistirse al poder de AMAROK.