30 de junio de 2007

Historias de Gnome

En un documento sobre la historia de Gnome se comenta la creación de la fundación, y varias de las actividades iniciales:

After the Gnome foundation was announced, a number of initiatives from the founding members was announced:

  • Sun Microsystems adopts GNOME technologies for their user environment in the Solaris OS
  • Hewlett-Packard adopts GNOME for their user environment in the HP-UX operating system
  • Sun will port their recently OpenSourced StarOffice suite to the Gtk+ toolkit and will integrate with the GNOME Bonobo component architecture
  • IBM contributed the SashXB rapid development environment to GNOME
  • GNOME would adopt and integrate Mozilla as part of its desktop strategy.
  • The GNOME project would adopt OpenOffice technologies.


A día de hoy, Gnome no tiene suite ofimática (Openoffice es externo y no está integrado en Gnome más allá de GTK), ni un motor web que se pueda utilizar más allá de epiphany (aunque eso puede cambiar con la inclusión de la versión GTK de WebKit, el motor de renderizado de Safari heredado de KDE), ni OpenOffice se ha integrado con Bonobo (afortunadamente, porque Bonobo es un error que Gnome recomienda dejar de usar). Con respecto a SashXB, tambien ha fracasado, aunque está Anjuta.

La verdad es que la historia de Gnome es curiosa. Cuando Icaza comenzó Gnome, lo hizo en parte extasiado por el resplandor del sistema de componentes de Microsoft, COM. Aquello era el futuro y el software libre en particular y Unix en general debían usarlo para no quedarse atrás tecnológicamente. Además, despues de haber considerado crear un clon de la entonces propietaria QT y haber jugado con GNUStep (Objetive-C) comenzaron su proyecto utilizando C y trocitos (según tengo entendido) de C++ y Objetive-C, pero C prevaleció, porque al fin y al cabo, la orientación a objetos se podía imitar en C sin problemas ni contraprestaciones, y permitía crear bindings más fácilmente.

Las flamewars de "usar C para la base de un sistema de escritorio es estúpido" no cesaron durante todo el crecimiento de Gnome, especialmente fomentadas por el uso de C++ de su más directo competidor, KDE, y el núcleo y entorno de Gnome defendio en todo momento sus decisiones pasadas, su criatura, y el hecho de haber elegido C. Hasta que se empezó a oir de C#. Icaza quedó extasiado por el resplandor del nuevo lenguaje y plataforma de Microsoft, .NET. Aquello era el futuro y el Gnome en particular y el software libre en general debían usarlo para no quedarse atrás tecnológicamente; un Gnome basado en .NET sería la leche. De repente, escribir aplicaciones en Gnome pasó a considerarse improductivo, era mucho mejor hacerlo con Mono. Aunque a la hora de compararse con otros escritorios, Gnome no sufría problemas de improductividad. Sólamente es criticable si lo comparas con Mono, no con otros. Por otra parte, resultó que Bonobo, el futuro, solo lo utilizaban unas pocas aplicaciones. Los mismos ingenieros de Microsoft que inventaron COM dijeron en una entrevista, hablando sobre el futuro framework de comunicación entre aplicaciones en Vista, que COM en realidad no tenían demasiado sentido, que no eran una buena idea, y que Microsoft proporcionaba compatibilidad, pero abandonaba su desarrollo. Vaya por DIos, lo que había sido el futuro tuvo como único futuro convertirse en pasado, y resulto que uno de los pilares de la fundación de Gnome en realidad no era tal, y se recomendó dejar de utilizarlo.,

Recientemente, Microsoft anunció Silverlight. Los millones que Microsoft gastá en hacer marketing de sus tecnologías entre dueños de empresas y programadores hizo efecto, y todos los medios empezaron a hablar de ello. Icaza, asiduo a conferencias de desarrolladores de Microsoft, se enteró, y le gustó. Aquello era el futuro y para no quedarse atrás tecnológicamente que mejor que implementar un clon de Silverlight libre. En 21 días, consiguieron una implementación inicial. El apartado gráfico no se hizo en Mono, en C#, en ese lenguaje del futuro tan ideal para toda la familia, sino en C++, con bindings a C#. Y aun no se ha producido, pero me juego el espaciador de mi teclado a que veremos discusiones sobre si integrar silverlight en Gnome como base para crear aplicaciones.

En fin, una historia ajetreada e interesante, comentada a vista de pájaro. Mas lo que nos queda, porque es obvio que Microsoft va a seguir sacando frameworks de desarrollo revolucionarios, y si la Historia es un libro de predicciones del futuro está muy claro lo que va a seguir sucediendo. Como se puede comprobar, no soy entusiasta de Gnome, y no porque sea un troll, sino porque considero que toda su fundación tecnológica está un tanto...descentrada. Pero sobre todo lo que menos me gusta no es tanto su fundación tecnológica actual - el kernel Linux fue una mierda durante muchos años, pero su desarrollo estuvo siempre fundamentado en un fuerte deseo de mejorar a toda costa y hacerlo bien - que a día de hoy es un intento de imitar visualmente a Mac OS X utilizando para ello tecnología de Microsoft, sino que no haya una dirección de futuro única, poderosa, inequívoca que pueda enderezarlo. Existe un preocupante conformismo con el estado actual de las cosas, a pesar de que hoy en día estamos contemplando los mayores avances en tecnologías relacionadas con las interfaces gráficas desde que éstas fueron inventadas. Me asombra que la gente se atreva a hablar del "año del escritorio Linux": Es muy obvio que ni el GNOME ni el KDE de hoy van a conseguir una adopción masiva de Linux. En temas de escritorio estamos igual que Linux en servidores cuando el kernel estaba por su versión 2.0: funcionales y progresando pero aun lejos de conseguir la adopción masiva.

28 de junio de 2007

Los de la SGAE no son unos ladrones

La SGAE denunció a Julio Alonso por hablar en su blog del Google Bombing de asociar "ladrones" con la SGAE, y el juzgado ha admitido recientemente a trámite la denuncia.

Quiero hacer público mi apoyo a Julio, pero hay que admitir que Julio no utilizó la mejor expresión al referirse a la SGAE. No son unos simples ladrones - hay ladrones que son muy respetables -, lo que son es unos hijos de la gran puta. Ellos, y todos los que apoyan su expolio, incluidos los jueces que han dictado vergonzosísimas sentencias a su favor en el juicio de Traxdata o en los casos de heróicos dueños de bares o parejas recien casadas que se oponían al impuesto revolucionario de la SGAE. Todos ustedes, gente de la SGAE (excluidos los curritos varios que están ahí simplemente por el sueldo), músicos que apoyan el expolio, jueces -no me vengan con que aplican la ley, no hay ley que avale el robo-, políticos -pp y psoe- sin valor para defender al ciudadano, ministros que regalan palacios a una entidad privada, ministros que implementan el canon digital. Son todos ustedes, sin excepción que valga, unos hijos de la grandísima puta, unas garrapatas que no dejan de succionar sangre al pueblo español que les odia y va a quitarles su poder a ustedes tarde o temprano, hartos ya de tanto mangoneo y tanta mierda. Los ciudadanos podemos aceptar un desmadre, con tal de que sea casual, unilateral y tarde o temprano se arregle -esto es España, nos tienen muy acostumbrados-; pero contemplar como desde las más altas esferas a las más bajas se avala a un puñado de sátrapas corruptos y adictos al dinero que expolian impunemente al ciudadano de a pie me da un asco tremendo. Algo falla en este sistema, y no son las bodas que ponen música en el baile: Son ustedes. Sobran. Si no son capaces de aplicar el sentido común ante un evidente caso de robo es que en su carrera como jueces, políticos, gestores, músicos, fallaron en algo. Vuelvan a las bibliotecas, aprendan algo...solucionen su problema de incapacidad profesional. A nosotros déjennos en paz de una puñetera vez, cabrones.

Dedicado a liberales

Para que reflexionen un poco y ejerciten esas cabecitas: Warren Buffett dice que los ricos deberían pagar más impuestos.

Para quienes no lo sepan, Warren Buffet, el Oráculo de Ohama, es el tercer tío más rico del mundo (hasta hace poco era el segundo), pero todo su dinero lo ha ganado, a diferencia de Bill Gates (monopolio) y Carlos Slim (explotación del pueblo mejicano y corrupción del gobierno), mediante inteligentísimas operaciones en bolsa. Está considerado como el mejor inversor en bolsa de la Historia, y tras su muerte su dinero irá a parar a una fundación benéfica, no a sus hijos: Dice que deben aprender a ganarse su propia fortuna.

(PD: No vale decir que Warren Buffet, tiene ahora sed de poder y de dominio y que por eso tiene tendencias "comunistas", esos argumentos solo valen para el GEES)

27 de junio de 2007

La novela de Hans Reiser

Wired ha publicado una entrevista/reportaje de 7 páginas sobre Hans Reiser y su caso (recomiendo pulsar en "full page" para presentar todo el artículo en una sola página). Recordar que la ex-mujer de Hans Reiser, Nina, desapareció hace ya unos meses y se acusa a Reiser de asesinarla.

La impresión que un recoje despues de leer todo el artículo es que eso no puede ser real, parece sacado de una novela de misterio. La información que se daba al principio era escasa: Nina había desaparecido, Hans había lavado el coche y había hecho desaparecer el asiento del pasajero y tenía restos de su sangre en el maletero, parecía sin duda culpable. Pero despues de leer el artículo, resulta que la historia es muchísimo más compleja.

Todo empieza cuando Namesys recibe una "beca" del ministerio de defensa de 600.000$ para hacer lo que fue reiser3. Pero según pasa el tiempo, el dinero empieza a faltar. Ramón, el padre de Hans, que dice saber cuando le mienten por haber sido entrenado en el ejército para hacer interrogatorios cuando lo de Vietnam, piensa que el dinero se esfuma demasiado rápido. Cuando se queda sin nada, Ramón avisa a su hijo que podría ser culpa de Nina, la mujer de Hans, de origen ruso, pero él no le cree. Hans tiene un amigo de la infancia llamado Sturgeon. Este amigo presta a Hans 80.000 dólares para que Namesys pueda continuar.

Sin embargo, Sturgeon se pasea por malos ambientes. Le gusta el sadomasoquismo, Hans afirma haberle visto marcarse la palabra rage en el brazo con el filo de una navaja, y afirma que se asustó cuando su amigo le contó que en una de sus experiencias se reventó una vena. Sturgeon consume drogas, y Nina empieza a meterse con él en ese mundo, con el conocimiento de Hans. Pasa el tiempo, y Nina y Sturgeon acaban liándose y mezclando drogas, sexo y sadomasoquismo. Nina se divorcia de Hans. Durante el proceso del divorcio, Sturgeon y Hans se enfrentan, y Sturgeon pide que le devuelva el préstamo. Hans se niega, y el asunto llega a juicio. Hans acusa a Nina y a Sturgeon de asociarse para intentar robar el dinero de la empresa.

Pero eso no es todo. A Hans le gustan los juegos violentos. No como nos puede gustar a una personal: los concibe como un metodo de enseñanza para los niños. Es decir, piensa que hay juegos, como los de atropellar a transeuntes con coches, que son malos porque en ellos se mata a gente inocente. Pero otros juegos, como los de estrategia, en los que se mata a los malos defendiendo la familia, la patria, o a uno mismo, son buenos para él. Juega con sus hijos a juegos especialmente violentos y sangrientos con propósito de que aprendan. Los niños empiezan a tener pesadillas por las noches, dibujan monstruos y soldados, se ponen enfermos. Nina acusa a Hans de ello durante el proceso de separación, Hans piensa que Nina está llevando al niño a "especialistas de creación de memoria" para hacerle exagerar ciertas cosas.

Nina desaparece finalmente. La madre de Hans está en esos momentos en el festival Burning Man; al volver su hijo le cuenta que Nina ha desaparecido y le dice que no puede devolverle el Honda que había tomado prestado durante su ausencia porque no funciona. Su padre, Ramón, sugiere que tenga cuidado, y sugiere que Nina podría haberse relacionado con la mafia rusa. Hans por su parte se encontró con Nina horas antes de su desaparición. Su hijo ha dado dos versiones diferentes del encuentro antes de que Nina se marchara a hacer una compra que no llegaría a casa jamás: en una los dos discutian gravemente, en la otra se comportaban normalmente.

La policía sospecha de Reiser e intentan encontrar el Honda CRX "desaparecido", le siguen con un coche oculto y con una avioneta. Hans conduce (otro coche, no el Honda) de manera extraña, acelera de repente para tomar un desvio, y da vueltas a un barrio: Actua como alguien que esconde algo e intenta despistar. Hans dice que llamó a su padre al darse cuenta que le seguían, y éste le dice que podrían ser mafiosos rusos. Posteriormente la policia obtiene una orden de registro de la casa de Hans, y encuentran una gota de sangre que es identificada con una mezcla de la de Nina y Hans. Siguen espiando a Hans, y logran seguirle hasta el Honda CRX: Se encuentran con que el coche del pasajero ha desaparecido, las alfombrillas y el piso del coche han sido lavados, hay bolsas de basura de tamaño industrial, cinta aislante, toallas y dos libros, uno de los cuales se titula Masterpieces of Murder and Homicide. La policía tambien encuentra otra muestra de sangre, que se corresponde con la de Nina.

Todo apunta a Reiser, ¿verdad? Pues bien, aun queda una sorpresa: Surgeon, el ex-amigo y amante de Nina, ha confesado haber asesinado a nada menos que ocho personas durante su pasado tumultuoso. Pero no a Nina, dice él. Y ha declarado estos asesinatos precisamente durante el juicio, para demostrar su inocencia: podía haber callado, pero parece que prefirió hablar claro. Tambien ha animado a los jueces a que le hagan todo tipo de pruebas, a él, a sus armas. El pasado tumultuoso quedó atrás, ahora es un cristiano practicante y activo que ha abandonado la mala vida. Sin duda es un buen candidato para ser un asesino, pero ¿fue él en este caso? La entrevista del enlace termina cuando el entrevistador pregunta a Reiser por el asiento desaparecido del Honda, algo que nunca ha explicado, y Reiser sigue hablando de sistemas de archivos, ignorando la pregunta. Si quieren mi opinión, me parece que Hans intentó hacer el crimen perfecto: Asesinar a una persona e intentar que la culpa recaiga en otra con antecedentes demasiado sospechosos como para creer en su inocencia. Tal vez se creía capaz de hacer el mejor asesinato de la historia, igual que se creía capaz de escribir el mejor sistema de archivos del mundo.

26 de junio de 2007

Mortadelo

Federico Mena Quintero (sobre quien tengo sentimientos enfrentados, por haber sido una de las personas envueltas en el desarrollo del "nuevo" selector de archivos de GTK, ese que me hace volver a los 90 cada vez que tengo que usarlo y tengo que buscar un archivo jpg entre decenas de ellos sin una vista de miniaturas) acaba de anunciar Mortadelo, una especie de strace gráfico.

Digo "especie de", porque no es un strace, ni se trata de una GUI sobre strace. Utiliza systemtap, el equivalente de Dtrace en Linux, lo cual implica que podrá extenderse fácilmente a analizar algo más que la información que solemos obtener de strace. Tambien implica que en realidad se trata de un strace, pero a nivel de todo el sistema, que esta muy de moda últimamente (powertop es otro ejemplo) y es muy útil para analizar como se comportan globalmente sistemas formados por muchos componentes individuales. Esta hecho en Mono, que aunque no es la plataforma con la que tengo sueños eróticos por la noche, para una aplicación como esta no es una mala opción.

Espero que añadan una cara de Mortadelo como icono en los menues :P. Esto me recuerda...¿como decia aquella cancion?....ah, si....

Carne de cañón
Sancho y Don Quijote,
Mortadelo y Filemón,
tienda "todo a cien",
pagas dos besos, y te llevas tres.
Cuatro caminos tiene el porvenir
si me equivoco, se equivoca mi...
destino.

23 de junio de 2007

Leopard y .Mac

Una de las novedades de Leopard que no había comprendido hasta ahora eran las novedades de .Mac - el equivalente de MSN en el lado Apple - y su integración con el Finder. Hoy que he estado viendo la keynote he comprendido de que va. Resulta que en Leopard, el sistema operativo se conecta a .Mac, y ahí .Mac notifica a otros ordenadores que te has conectado, y a través de .Mac pueden conseguir tu dirección IP y compartir directorios, conectarte de forma remota, etc.

En realidad no es una idea nueva: es algo al estilo del IM, se notifica de tu presencia a través de un servidor centralizado. La diferencia está en que el IM está orientada a contactos, y lo de Leopard está orientado a "equipos". Puedes ir con tu portátil al aeuropuerto, conectarte via wifi a internet, y en el propio Finder te aparecerá el .Mac que tu novia está usando en casa o el que te has dejado encendido. Y te da oportunidad de acceder a sus archivos - de forma segura, con cifrado -, de conectarte remotamente - si tienes permiso -, etc.

En suma, es una mejor implementación del "compartir carpetas" que Microsoft ha implementado en recientes o futuras versiones de Messenger. Lo de Leopard está integrado en el sistema operativo, en el finder...lo de Microsoft, está orientado a mercado de pachangueo - doméstico -, estás obligado a instalar un programa opcional que está lleno de publicidad y que no se actualiza (!!) a través de Windows Update.

Últimamente hablo mucho de Mac. No se trata de que me haya convertido en un fanboy, más bien se trata de simple Objetividad Técnica (tm) hacia una empresa que tiende a implementar las mejores soluciones - o al menos las menos malas - a problemas determinados. A veces resulta dificil comprender el masoquismo de la gente que no considera los Macs ni tan siquiera como una opción de compra.

21 de junio de 2007

20 de junio de 2007

Consejo internetero

Si ponen esta línea en su /etc/hosts:

0.0.0.1 libertaddigital.ojdinteractiva.com elmundo.ojdinteractiva.com

cada vez que visiten elmundo.es o libertaddigital.com, su visita no contará a efectos de recuentos de la OJD. ¿No es maravilloso?

14 de junio de 2007

Citas

Una buena cita de Linus Torvalds explicando por qué no le gusta la licencia BSD y por qué si la GPLv2:

Let me put this in source management terms, since I've also been working on a source control management project for the last few years: the BSD license encourages "branching", but the fact is, branching is not really all that interesting. What's interesting is "merging": the branching is just a largely irrelevant prerequisite to be able to merge.

The GPLv2 encourages *merging*. Again, the right to "branch" needs to be there in order for merges to be possible, but the right to branch is actually much less important than the right to "merge"

13 de junio de 2007

Btrfs

Chris Mason, un tipo que solía trabajar en Reiserfs3 cuando estaba en suse y que ahora trabaja para Oracle, ha anunciado un nuevo sistema de archivos destinado claramente tanto a cerrar las desventajas de Linux respecto a ZFS, como a librarse de la herencia de los sistemas de archivos ext, como a generar una base de código limpia, a diferencia de XFS.

Atención a este sistema de archivos porque tiene serias posibilidades de acabar convirtiendose en el sistema de archivos de referencia para Linux. Aun está muy verde, el formato del disco no está definido del todo, y aun tiene que añadir soporte para características tan básicas como escrituras a través de mmap() y utilización de copy-on-write, pero es un sistema de archivos que Linux necesita. Y ya implementa un buen número de características con solamente 10mil líneas de código, lo cual parece un buen comienzo. Y gente como Christop Hellwigh parecen estar a favor de su desarrollo. Los desarrolladores de ext4, por desgracia, no parecen interesados en crear un sistema de archivos que resuelva todas las necesidades de Linux, sino simplemente parchear severamente ext3 para alargar su vida.

Leopard, groarrrrr

Ayer anunció Apple Leopard, la versión de Mac OS X que saldrá en Octubre. La verdad es que parece una versión bastante impresionante. Bastante gente ha comentado que tiene pocas cosas nuevas. Desde luego, las principales novedades no se caracterizan por ser una novedad radical como Spotlight, sino una mejora aparentemente leve pero bastante radical desde el punto de vista de usabilidad y del modo de usar la interfaz, y definitivamente muchos cambios por debajo. Es la primera vez desde la salida de Mac OS X en la que se hacen cambios tan radicales a la interfaz básica del sistema operativo.

La primera novedad y la más importante es, sin duda alguna, stacks. Stacks son una idea dificil de explicar si uno no lo ve con sus propios ojos, por lo que recomiendo ir a esta página donde Apple pone un enlace a un video. Las pilas son colecciones de cosas que tienen algo en común: las fotos de vacaciones, documentos de clase, imagenes graciosas. Son algo complementario, según dicen los expertos, a los directorios; o más bien una forma distinta de presentar visualmente a una persona los contenidos de un directorio. Básicamente tienes un icono de la pila en el escritorio, le das y el icono "saca" todos sus contenidos y te los muestra ahí mismo. Son una forma más humana de representar las cosas: tengo ahí un montón de papeles, cojo el montón y busco entre ellos.

Las pilas son un concepto aparentemente inventado por Apple y conocido hace tiempo por el nombre de Piles, en concreto parece ser que fueron Gitta Salomon y los máximos responsables de usabilidad de Apple quienes lo anunciaron en 1992. Tambien están patentados por Apple, yya se rumoreó sobre su inclusión para Mac OS X 10.3, y ha habido gente preguntándose recientemente por qué no se incluían (este último enlace tiene imagenes del primer documento público que Gitta Salomon utilizó para anunciarlo), lo cual demuestra que hay ciertos rumores aparentemente absurdos que no lo son tanto.

En cualquier caso estamos ante una gran novedad en usabilidad, a pesar de que muchos la esten pasando por alto. Esta es la primera implementación de esta idea, y no quepa duda que Apple la va a perfeccionar en el futuro y probablemente extender a otras partes del sistema - si es que no lo ha hecho ya, porque Jobs no ha mostrado todo en su presentación.

La segunda novedad que más me ha impresionado es la renovación del dock, esa grandísima idea que deja al estúpido concepto de barra de tareas/menú de inicio heredadas por vista/linux de windows 95, o quizás OS/2, en vergüenza. Eso tambien se puede ver en el enlace del video anterior. Pero no es ese aspecto 3D que se le ha querido dar lo que me llama la atención. Es el reflejo en la base del dock lo que me tiene obsesionado. Si uno ve el video, puede ver como los iconos se ven reflejados en la base del dock, pero no solo los iconos, tambien las ventanas que se bajan demasiado. Para quien no haya visto el video, incluyo imagen (de baja calidad) donde se ve el reflejo de los iconos y del texto de la ventana abierta:



Hasta ahora en los escritorios se habían visto transparencias, que es una propiedad de ciertos materiales como el cristal o la ropa interior femenina, pero jamás de los jamases había visto en un entorno de escritorio crear reflejos. que es una propiedad física de otros objetos. En los juegos ya se habían visto cosas así desde hace muchos años, pero no en escritorios. ¿Como lo habrá hecho Apple? ¿Tiene reflejos porque el sistema gráfico toma en cuenta su posición espacial y la del resto de objetos en relación con él y crea reflejos de acuerdo con todo eso, como (supongo) hacen los juegos, o es un hack que toma los contenidos de los buffers del escritorio cercanos al dock y hace efectos con ellos para crear un efecto 3D "a mano" que en realidad no existe? Yo apuesto por el hack, que suena sencillo de implementar, porque lo otro significaría introducir nociones 3D, y sería un avance acojonante.

Se lleva hablando de los escritorios 3D hace tiempo. Algunas personas piensan que es algo ridículo, porque lo que escuchan son descripciones de entornos donde mueves una ventana al "fondo" del escritorio y no le ven utilidad. Y tiene razón. Pero un escritorio 3D en realidad no significa eso. En realidad, los escritorios gráficos han sido 3D desde el primerísimo día de su concepción. El poner una ventana debajo de otra es un efecto 3D, por ejemplo. Los menús, idem. Los botones que utilizamos a diario tienen efectos gráficos para aparentar que se meten hacia dentro cuando los pulsas. La realidad es que las interfaces gráficas han sido 3D y han utilizado los citados efectos 3D desde sus inicios. El problema es que, debido a la ausencia de hardware gráfico capaz de mover gráficos 3D, los diseñadores tuvieron que limitar la programación a entornos 2D que generaban falsos efectos 3D, y que para mas inri, en sus inicios ni tan siquiera utilizaban aceleración 2D, se generaba todo con la CPU: Dibujo de una linea negra que simulaba una sombra mezclado con un desplazamiento de un pixel en el texto de un botón, etc.

Pero si tuvieramos hardware capaz de trabajar con 3D, no querríamos tener esos falsos efectos 3D, querríamos tener verdaderos efectos 3D: En vez de dibujar una línea negra para aparentar una sombra, simplemente diríamos al botón que se moviera hacia "el fondo". El sistema gráfico se encargaría de dibujar automáticamente las sombras necesarias y de mover la posición final del botón en la pantalla - 2D - un pixel, o lo que haga falta. Del mismo modo, una ventana no estaría "debajo de otra", simplemente, se modificarían las coordenadas de la ventana y el sistema gráfico calcularía cual es la que al final se ve desde el punto de vista del usuario. Un sistema gráfico así no sería en absoluto una pérdida de tiempo, sino que terminaría de completar la visión de las interfaces gráficas que una vez se ideó en Palo Alto. Significaría tambien que se podrían introducir más nociones 3D que hasta el día de hoy no se han introducido porque simularlas en una CPU o en las capacidades 2D de una gráfica era imposible o muy complejo. Significaría que en vez de tener efectos simplemente 2D, como hacen todos los sistemas operativos, por muy avanzados que sean como es el caso de Mac OS X, tendrías efectos 3D...podrías hacer que al eliminar unos documentos se formara un torbellino, con los iconos de los documentos rotando en 3D al son del torbellino hacia la papelera. Por ejemplo. Visualmente sería espectacular.

Y he aquí la paradoja: En los últimos años las tarjetas gráficas han evolucionado lo suficiente como para hacer posibles esos escritorios. Si esas tarjetas tienen la capacidad, y el concepto de interfaz gráfica requiere en el fondo de esas capacidades, es cuestión de tiempo que alguien cree una interfaz gráfica así. Es por todo esto que el reflejo que veo en los videos de Leopard me inquieta. Repito que lo dudo, pero imagínenese por un moneto que el reflejo del dock es exactamente eso: Una superficie tumbada que refleja lo que tiene encima, y que si tuviera otra orientación espacial diferente lo reflejaría de diferente manera. Imagínense que el sistema gráfico tiene esas capacidades: sería posible crear un theme que de a las ventanas unos bordes redondeados que reflejen la imagen las ventanas adyacentes acorde con la curvatura del borde. Imagínense que el menu de una aplicación tambien tuviera esos bordes redondeados que reflejaran el contenido de la aplicación, incluido el parpadeo del cursor. Sería una auténtica revolución, pero insisto en que lo que tiene leopard probablemente sea un efecto gráfico, aunque no quepa duda que Apple está trabajando en alguna parte en un sistema gráfico como el descrito.

La tercera novedad son los Spaces, tambien conocidos como escritorios virtuales en el mundo Linux. En realidad son una copia exacta de la idea, aunque no debemos sentirnos mal por ello, porque los unixeros, a diferencia de muchas empresas - incluida Apple, que tiene patentado un método de renderizado de fuentes que las distribuciones Linux tienen que desactivar por miedo a ser denunciados - no creemos en patentes y creemos que las ideas informáticas tienen que intercambiarse libremente para crear mejores productos. Realmente esa idea, la de los escritorios virtuales, es la única idea original que Unix ha contribuido al mundo de los escritorios. Merece especial atención el nombre tan acertado que le han puesto a esta característica: Ni escritorios virtuales, ni escritorios: Espacios, más cercano al propósito original de la idea: espacio de internet, espacio de desarrollo, etc.

La otra gran novedad es la renovación del finder. Para quienes no lo sepan, el finder es con diferencia la aplicación más odiada de Mac OS X por grupos de zealots exquisitos en términos de usabilidad. Para ver la renovación del finder, es recomendable echar un ojo a la página de Apple sobre el tema, que tambien incluye un imprescindible video. Lo más interesante es la nueva vista Cover Flow, idéntica a la del iPhone e itunes en su concepto. Al principio, en las capturas, me parecio literalmente una cosa realmente inútil, incluso la del iPhone, porque cuando tienes 200 elementos es más comoda una vista de miniaturas, que abarca más elementos que el Cover Flow, que en realidad solo te permite ver en pantalla unos pocos elementos del total de la carpeta, sin duda una razón por la cual la han mezclado con una vista de lista en debajo del Cover Flow. Pero despues de ver el video queda claro que es una forma muy útil de visualizar los contenidos de una carpeta, especialmente cuando no hay muchos elementos. Se hace evidente a poco que uno establezca analogías que la vista Cover Flow es una implementación visual diseñada para las Pilas, o Stacks. Si uno echa un ojo a los gráficos del enlace anteriormente citado, se pueden establecer rápidamente los paralelismos. Cover Flow, inicialmente diseñado para iTunes, es en realidad un método para mirar los contenidos de una pila. De ahí se puede derivar que del mismo modo que las pilas no reemplazan ni pretenden reemplazar a los directorios, la vista Cover Flow no reemplaza ni puede pretender reemplazar a las vistas tradicionales para los directorios.

Otra gran novedad, bastante relacionada con la anterior, es Quick Look. Se trata de ver los contenidos de las aplicaciones sin necesidad de sbrir el documento. No, no se trata de una vista en miniatura del archivo. Si uno echa un ojo al video anterior del finder, se dará cuenta de que en la vista Cover Flow se pueden mirar los contenidos de un PDF o ver un video sin salir del Cover Flow. Pues bien, eso es Quick look.

En fin, que estas son las cosas que más me llaman la atención de Leopard.Hay más y se pueden ver aquí, pero las anteriores me parecían especialmente interesantes. Todas ellas, junto al uso de LLVM en la pila OpenGL, la posible inclusión de un sistema de seguridad a lo SELinux, la independencia de resolución, la inclusión de Dtrace y ZFS, Objective C 2.0 con soporte para recolección de basura, hacen evidente que estamos ante la mayor actualización de Mac OS X en su historia en cuanto a nuevas características y en cuanto a innovación en todos los planos del sistema. En resumen, un 10 para Apple por esta versión de su sistema operativo. Merece bien la pena retrasar su salida 3-4 míseros meses si este es el resultado final.

12 de junio de 2007

Rueda de Peones para darle jaque al rey

Las compañías de hardware no logran sus objetivos. Se acaba de anunciar un driver preliminar para tarjetas ATI-AMD basadas en chip R500. Eso significa que sus drivers propietarios, que son propietarios porque no quieren que el mundo sepa como funciona su hardware, no logran sus objetivos porque la gente acaba sabiendolo igualmente.

Intentar evitar los drivers de código libre es como el DRM del blueray y el hd-dvd: Por muchas medidas de protección que pongas, al final el usuario y su software tienen que acceder a la música y al hardware, asi que el usuario siempre acaba descifrándolo.

(pd: título tomado de un verso de la canción "Canción de cuna de la noche y los tejados", con evidentes resonancias republicanas)

6 de junio de 2007

¿Qué tendrá Linux 2.6.22?

Como parte del mantenimiento de kernelnewbies.org/LinuxChanges, aquí va un resumen de avance en españolcastellano:

  • El SLUB allocator, que reemplazará al "slab allocator", y no lo traduzco por lo pedante que suena. El "slab allocator" es un mecanismo de gestión de memoria a muy bajo nivel y muy crítico para el rendimiento. El mecanismo actual no es que sea malo, de hecho es bastante bueno, pero los de SGI, que trabajan con equipos de 1024 ó 4096 CPUs, encontraban su diseño ineficiente para esos casos (se gastaban GB solo para las "colas de objetos", sin contar los objetos), y la adición de nociones NUMA a lo largo de su vida no había sido todo lo limpia que debería. En vez de intentar parchearlo poco a poco ha preferido reescribir un sistema nuevo de cero con un diseño más simple y que incluso mejora algo el rendimiento. En 2.6.22 este "SLUB" está disponible de forma opcional

  • Nueva pila wifi: El soporte de drivers wireless en linux ha sido francamente un caos debido a la ausencia de una pila wifi que soportara todo tipo de características, lo que ha hecho que hayan surgido más de una pila wifi, drivers implementando caracteristicas ausentes en la pila....en 2.6.22 se incluye una pila wifi liberada por Devicescape, con completo soporte para 802.11g, capa MAC por software, wpa, wpe, módulo de "bridging" a nivel de enlace, capacidades QoS para VOIP y video...además tiene una nueva interfaz de configuración, basada en netlink, y compatibilidad con las antiguas extensiones wireless basadas en ioctls. La pega es que los drivers del kernel no han sido portados aun a esta pila y aunque hay parches en algunos casos, aun no han sido incluidos. Hay algunos drivers que han sido desarrollados de cero sobre esta pila que tambien se incluiran en el futuro.

  • Nueva pila firewire. Más pequeña (8k LoC frente a los actuales 30k), mejor diseñada, compatible con la antigua a nivel de libreria. La antigua permanece ahí para quien la quiera usar. Como puede verse, Linux no ha perdido su afan por reescribir partes del código para conseguir un mejor kernel.

  • Nueva arquitectura: Blackfin

  • UBI, un LVM para dispositivos de almacenamiento basados en memoria flash. ¿Por qué se necesita un nuevo subsistema y no se extiende LVM? Porque los dispositivos flash son fundamentalmente diferentes.

  • Gestión de eventos de señales y temporizadores a través de descriptores de archivos. Linux carece de parte de la funcionalidad equivalente a kevent/kqueue (FreeBSD, OSX y otros equivalentes en Solaris y NT). Linux implementó epoll(), una "epoll() escalable" (el poll() tradicional de Unix está seriamente limitado en cuanto a su rendimiento por cuestiones de diseño), pero epoll no cubre las señales ni los temporizadores, porque no son descriptores de archivo. Frente a la solución considerada sobrediseñada de kevent/kqueue y despues de rechazar una implementación de Linux que implementaba algo similar, se ha optado por una idea de Linus de hace 4 años más "unixy": las llamadas de sistema signalfd()/timerfd(), que asocian a un descriptor de archivo a una señal o eventos de temporizador. A esos descriptores se les puede aplicar read(), poll(), epoll(), etc; de manera que se pueden gestionar señales y temporizadores como "archivos".

  • Sockets RxRPC seguros. Este es un tipo de protocolo que se utiliza con el "Andrew File System" (AFS), pero francamente no tengo ni pajolera idea de lo que hace.

  • utimensat(), una extensión a futimensat(). No se que hará, pero seguro quer sirve para algo. Dicen que soporta resolución de nanosegundos, y algo que tiene la palabra "nano" no puede ser del todo malo.

  • Varios algoritmos de control de congestión nuevos, varios drivers nuevos, IPV6 para CIFS, soporte de escritura en AFS, etc etc....más de lo mismo bajo el cielo azul. Con lo de arriba ya hay suficiente.

5 de junio de 2007

Compilador más "multicore"

Intel acaba de publicar una nueva versión de su compilador, y esta versión trae herramientas que ayudan a programar para multicore, lo que Intel llama Intel Threading Building Blocks

Dos de las herramientas son un detector de bloqueos y pausas en programas multihilo, y un analizador de rendimiento en programas multicore. La primera me intriga: Es una forma de decir que la programación multihilo es muy compleja y que el cerebro de los programadores va a tener que aguantar toda esa complejidad. Es decir, que Intel sigue sin tener una solución para que el software escale mágicamente, lo cual no es sorprendente ni vergonzoso para ellos. A mi, francamente, un detector de bloqueos que tenga que utilizarse a diario me parece tan absurdo como, por ejemplo, un detector de pausas en el pipeline del procesador: Sin duda es útil para microoptimización y casos concretos, pero no es de lo que la mayoría de los programadores debería preocuparse a diario. Y pongo ese ejemplo porque el mundo multicore tiene sus similitudes con los procesadores cuyo rendimiento sufre demasiado con las pausas, como los P4. ¿Se imaginan un procesador como el P4 pero a lo bestia, que necesitara un extremo cuidado para no hacer pausas en el pipeline? ¿Se imaginan tener que echar un ojo al ensamblador para ver qué ha generado el compilador? Pues bien, usar ese procesador sería una gloria comparado con el multicore, porque al fin y al cabo es el compilador el que genera el código optimizado para no crear pausas en el pipeline; mientras que un compilador no te va a solucionar el problema de tener que usar varios cores simultaneamente, tienes que hacertelo tú. Y miren dónde se ha quedado el P4. O el Itanium.

En cierto modo es volver al mundo del ensamblador. Bueno, la analogía correcta sería decir que volvemos a la complejidad de los días de los programas en ensamblador, cuando el programador pasaba más tiempo intentando encontrar los fallos (eso no ha cambiado mucho hoy, pero antes era peor, hoy en día los fallos se buscan en programas con decenas miles de líneas, antes los fallos te abrumaban con unos cientos) o buscando un rendimiento decente que programando funcionalidad. Volvemos a ese mundo, porque la programación en paralelo no es asequible a la mente humana, por muchos adornos que le pongan, igual que no lo es la programación de una suite ofimática en ensamblador, y la única manera de afrontar esa complejidad es que alguien, ya sea el compilador, las capas más bajas del sistema operativo, la orientación a objetos, una mezcla de todo, sea quien sea, resuelva al programador el problema.

3 de junio de 2007

NANDattack

Dell, Intel y Microsoft unen esfuerzos para acelerar la adopción de memoria Flash en plataformas PC

El otro día, PQI anunción un disco duro de 256 GB basado en memoria Flash

El futuro está claro, adios a los discos duros tradicionales. El tamaño y la fiabilidad de los discos duros flash va a mejorar gracias a los beneficios que está generando su adopción y gracias a las inversiones externas que sin duda se están produciendo. Adios a la complejidad en sistemas de archivos, en la gestión de memoria. Y Linux está muy bien preparado.

No se si la gente se da cuenta de ello, pero estamos viviendo un momento importante de cambios en la informática: multicore, discos de memoria flash, interfaces gráficas de ensueño...

Video de expertos analizando virus informáticos

He aquí un video clásico sobre virus informáticos que nadie debería perderse, con expertos como Emily Phea y el profesor Bocaaaaagua. Imprecindible para sobrevivir en las procelosas aguas de Internet.

1 de junio de 2007

RCTV continúa sus emisiones a través de YouTube

Lo cuentan en 20minutos.es, y yo lo destaco no tanto por el tema de RCTV, sino por el que se esté recurriendo a YouTube: A Internet. Esto prueba que Internet no es mera tecnología de usar y tirar, sino que cada forma, cada vez más, parte de nuestras vidas y nos ayuda a garantizar nuestras libertades. Escribiendo Historia: Si de los sucesos que estan sucediendo en Venezuela se derivaran acontecimientos de gravedad, las enciclopedias tendrían que mencionar como Internet ayudó a saltarse la censura.

Para quien no se haya enterado de lo de RCTV, se trata de pura censura. Pocas veces en la Historia se ha atacado la libertad de expresión de una forma tan descarada, de manera tan evidente y a la vista de todos. RCTV, una de las televisiones más vistas de Venezuela, tenía una licencia de 40 años para emitir, y Chavez ha decidido no renovarsela. Chavez se escuda en que no es censura sino que simplemente no se ha renovado la licencia, pero la gente no es gilipollas: RCTV era crítica con Chavez y la motivación ha sido politica. Los gobiernos tienen todo el derecho a no dar licencias, pero para no darlas ha de dar motivos creibles, no porque le da la gana al gobierno, porque sino se convierte en un control efectivo de las comunicaciones y en censura. Todos los gobiernos del mundo suelen tener más o menos en cuenta esto. Pero no Chavez.