28 de febrero de 2006

el Aun Más Impresionante video de XGL

Este es.

Recomiendo a todo el mundo que quiera flipar un rato que lo vea. Son 58 MB, en xdiv bastante comprimido a 83 kb/s, lo cual significa que el video es largo (703 segundos, 11 minutos), pero merece la pena

Efectos que se ven en ese video (algunos más útiles, otros menos, pero todos impresionantes)

  • Las ventanas al abrirse (y al cerrarse) hacen una transicion rápida de translúcido->opaco. Puede parecer que es pérdida de tiempo puesto que uno quiere que las cosas se abran cuanto antes mejor. Para los menus estoy muy de acuerdo, es una cosa que sobra al menos que no sea tan rápido que sea instantaneo, pero para las ventanas creo que es buena idea hacer esa transicion, para que la mente sepa donde van a aparecer las cosas, si las cosas aparecen "de repente" sorprenden a la mente, o al menos eso creo yo
  • Al arrastrar las ventanas de un lado a otro, se deforman dependiendo de la velocidad con que las muevas. Es decir, el rectángulo que forman se deforma como si fuera una goma a la que le cuesta vencer la inercia. Al dejar de mover la ventana, la deformación se deshace y la parte de la ventana que va "arrastrándose por detrás" del resto de la ventana "choca" con la ventana, y la ventana entera tiembla un poco
  • Al igual que al arrastrarlas, las ventanas tambien se comportan de manera elástica al acercarse a un borde del escritorio o al borde de otra ventana. Se "pegan" como suelen hacer los demás gestores de ventanas. Pero a diferencia de los gestores normales no hay una "resistencia" a que la ventana se mueva: El borde que está pegando al escritorio o a otra ventana se queda pegado y se "estira" como si le costara soltarse
  • Las ventanas se pueden hacer transparentes (ya se podía con exa & composite
  • Los escritorios virtuales son las caras de un cuadrado que para cambiar de escritorio gira (efecto apple?)
  • Una ventana puede estar mitad en un escritorio mitad en otro escritorio, y al girar verás desde la arista a las dos partes de la ventana en cada lado, y si es un video verás reproducirlo en ambos escritorios
  • A las aplicaciones que no responden durante X tiempo se las da un tono gris. La aplicación se va volviendo gris lentamente, hasta que se pone totalmente gris
  • El alt + tab te muestra miniaturas de la ventana. Si tienes un video reproduciendose...la miniatura tambien te muestra una miniatura del video reproduciendose
  • Efecto exposé: Las ventanas pueden redimensionarse y se puede hacerlas zoom independientemente, asi que hay una combinacion de teclas que pulsandola 1) las hace un zoom 2) las coloca de forma ordenada en el escritorio.
  • Escritorios dinámicos, fondos que están continuamente cambiando, si no es muy chillón ni llama demasiado la atención es bonito de narices...

27 de febrero de 2006

El efecto del cache

Hay gente que escoje muy ligeramente entre un ordenador con una CPU con X de cache y otra con X/2. ¿Pero cuanto afecta? No, no el cache de disco del sistema operativo, sino el cache del procesador, y todas esas historias.

Pues la gente lo fliparía si por un día tuvieran que funcionar sin cache. Les habrá que pensarán "iria un poco más lento", o "bastante lento", o "muy lento". Pero no, va extremadamente lento. Ya he visto algun post en la lista del kernel de cosas de este tipo, pero acaba de rellenar un bug en el bugzilla un tipo que tiene un centrino con 1 GB de ram que le pasa eso. Parece ser que la bios tiene un bug (aunque creo que el kernel tambien puede llegar a desactivar el cache si tiene algun fallo). Tiempo para *arrancar* el ordenador: 50 minutos

24 de febrero de 2006

Probando suerte: Difunde D'oh!

En mi conocida carrera por conquistar el mundo conocido siempre he encontrado barreras. Por ejemplo a algunas personas les parece mal (por muy extraño que pueda parecer) que yo sea Señor y Dueño del Universo y ellos mis esclavos, a pesar de que saben que es lo mejor que podría pasarles en su vida.

El caso es que desde hace algún tiempo me he estado preguntando como podría acelerar el proceso, y despues de darle muchas vueltas me he fijado en spreadfirefox.com. Spreadfirefox es parte del proyecto que se han montado los desarrolladores de firefox para que los incautos les hagan publicidad por el morro. Normalmente ni un informático borracho gastaría un solo segundo de su tiempo en recomendar programa alguno porque están todos demasiado ocupados descargando material con contenidos poco didácticos - o muy didácticos, según sean tus preferencias en esta vida - y con derechos de propiedad intelectual poco definidos; pero gracias a técnicas de control mental han conseguido que millones de informáticos se apunten y ataquen a esa gran figura del baile moderno que es Steve Ballmer.

El método de control más fuerte que utilizan es el más efectivo, simplemente mandan a la gente hacer cosas sin dar razones. No quiero alarmar a nadie, pero "spreadfirefox" tiene un mensaje oculto: "spread firefox", "difunde firefox". Si, a mi tambien me dejó de piedra al principio. "Difunde firefox". ¿Como negarse? No te dan tiempo a pensar ninguna razón para no hacerlo. No te dicen "difúndelo porque....". Quizás se te pasaba por la cabeza antes de leerlo que podía ser un engaño y que no debías, pero entonces llega: "Difunde firefox". Y ale, ya no te da tiempo a contraatacar y caes en su red.

Siguiendo a estos genios he dedidido utilizar el mismo método para ver si funciona: Hijos mios, difundid D'oh!, recomendádselo a vuestros amigos y enemigos. Recordad que no sois como vendedores que intentan vender algo que nadie quiere: Estais haciendoles un favor. Dándoles una limosna. Salvándoles la vida. Cuando lo hayan leido, te darán las gracias. ¿Quieres ligar con esa chavala tan mona de la universidad? Acercaté y dile: "Lee http://diegocg.blogspot.com", y al día siguiente te pedirá que vayas a vivir a su casa y sus padres te dirán que se van de su propia casa para dejaros más libertad e intimidad. Un buen cristiano siempre recomienda este blog, y un ateo se suicida si se le pasa una oportunidad de intentarlo. De hecho no quiero asustar a nadie, pero se dice que en realidad la clave para entrar al cielo no es seguir los mandamientos, sino un examen que hace San Pedro a las puertas del cielo en el que se hacen preguntas relacionadas con los contenidos de este blog. Asi que vosotros vereis

23 de febrero de 2006

Por si alguno todavía piensa que Mac OS X es un microkernel

Ya se ha dicho a lo largo y ancho de internet mil veces y va a parecer que estoy emperrado con el tema, pero puesto que sigo viendo a gente por ahí que no se entera

"xnu is not a traditional microkernel as its Mach heritage might imply. Over the years various people have tried methods of speeding up microkernels, including collocation (MkLinux), and optimized messaging mechanisms (L4)[microperf]. Since Mac OS X was not intended to work as a multi-server, and a crash of a BSD server was equivalent to a system crash from a user perspective the advantages of protecting Mach from BSD were negligible. Rather than simple collocation, message passing was short circuited by having BSD directly call Mach functions. While the abstractions are maintained within the kernel at source level, the kernel is in fact monolithic. xnu exports both Mach 3.0 and BSD interfaces for userland applications to use. Use of the Mach interface is discouraged except for IPC, and if it is necessary to use a Mach API it should most likely be used indirectly through a system provided wrapper API."

Louis G. Gerbarg, Apple Computer, Inc, "Advanced Synchronization in Mac OS X: Extending Unix to SMP and Real-Time"

22 de febrero de 2006

2005: El año en el que Windows destronó a Unix como servidor

(Actualización: IBM, Oracle, Sun, Red Hat, Nokia y Real se han unido para quejarse a la Comisión Europea de las prácticas de Microsoft)

Pues si. No vale la pena darle muchas vueltas: La cantidad de dinero recaudado de la venta por servidores durante en el 2005 en servidores Windows ha sobrepasado por primera vez a Unix. La primera vez. Y no, no es necesariamente cuestion de que Windows sea más o menos caro

Es normal. Pensamos que Windows no es válido como servidor, y comparando cara a cara a un sistema operativo contra otro quizás sea asi. Pero Micros~1 no es idiota: Micros~1 es consciente de que en cuanto a calidad no puede competir con Unix, asi que durante todos estos años, pasito a pasito, ha ido montando las piezas de un rompecabezas muy bien montado: Los servidores sirven cosas a los clientes ¿verdad?. ¿Y que usan los clientes?: Windows. Por lo tanto ¿qué mejor manera de tomar el mercado de servidores que ofreciendo integración clientes windows <-> servidores windows a un nivel que solo Micros~1 puede conseguir?

Es muy bonito decir que Unix es lo mejor. Pero a Unix y a las compañias detrás de Unix jamás les importaron una mierda los clientes y dejaron que Micros~1 tomara el control en los 90, y ahora pagan por ello. Unix no puede y nunca podrá ofrecer una integración con clientes windows tal y como la consigue Micros~1: En gran parte porque esa integración está basada en tecnologías propietarias que Micros~1 no revela. La parte que Unix domina es la parte de los protocolos abiertos y estandarizados (servidores web, ftp, email), protocolos que brillan por la ausencia de patentes, licencias e historias varias. Es decir: Brillan por permitir la competencia libre y sana. La parte que Unix no domina es la de los protocolos cerrados de Micros~1 (la fragmentación de Unix tambien ha ayudado lo suyo), y con los clientes de Micros~1 tomando el 95% de los escritorios del mundo esa se ha convertido en una desventaja muy grande. No, no es ninguna casualidad que la Comision Europea haya amenazado a Micros~1 con una multa histórica si no abre ciertos protocolos "which would allow non-Micros~1 work group servers to achieve full interoperability with Windows PCs and servers. This will enable rival vendors to develop products that can compete on a level playing field in the work group server operating system market". Tampoco es casualidad que Micros~1 se niegue, ni que la unión Europea haya tenido que amenazar con semejante multa tratandose del monstruo de dinero del que se trata

Update:

20 de febrero de 2006

hot patching

Un interesante post de un programador del kernel de windows que cuenta como han implementado "hot patching", la posibilidad de parchear el kernel de windows "en caliente" de forma segura

19 de febrero de 2006

"definición y diferencias entre software y hardware"

Act.: Como mucha gente llega a esta entrada a través de google buscando las diferencias entre hardware y software, lo explicaré aquí de manera breve:

Hardware son cosa físicas: el monitor, el ratón, el teclado, la caja del ordenador.

Software son programas como los que te aparecen en la pantalla:: Windows, Linux, Office, Messenger, Firefox, Internet Explorer...

El software se almacena en el hardware, en el disco duro o un lápiz USB. El disco duro es hardware, software son los programas -los unos y los ceros- que se almacenan en él.

Dicho de manera clara: Hardware es aquello a lo que puedes dar patadas y abollarlo y romperlo, software es aquello a lo que puedes maldecir.

Microsoft admite por primera vez la inseguridad inherente a los ActiveX

Aquí lo pueden leer ustedes:

BN: Is Microsoft considering replacing ActiveX with another technology due to such security problems?

Gary Schare: In the early days, we admit, we focused more on the power and stability than on the security. We have since upped the investment on the security side of it and feel we've really caught up quite a bit where now users can benefit from ActiveX and not have to worry about the security issues.


No era ningún secreto. El service Pack 2 para Windows XP empezó a bloquear gran parte de los activex (por ejemplo, pasando el antivirus online de Panda) , mostrando al usuario esa barrita amarilla que informaba del bloqueo y que daba opción de ejecutarlo manualmente si te apetecía

Luego llegó la información sobre el IE7, y que su "nueva tecnología Activex Opt-in" (que en realidad no era ninguna tecnología nueva, sino la limitación de una tecnología existente bloqueaba aun mas. Con vista van a perfeccionar el asunto: En vista, el IE se ejecutará en un contexto de seguridad más bajo utilizando algo análogo a SELinux, lo cual significa que el navegador podrá ejecutar esos activex sin que el activex pueda acceder o borrar archivos o información alguna de otros procesos del mismo usuario

Para los que no sepan qué es activex, decir que activex es una chapucilla rápida que Microsoft sacó en los 90 para hacer competencia a Java. Active X es código ejecutable firmado digitalmente por alguna organización. La confianza en los activex aumenta dependiendo de la confianza que tenga el navegador en las firmas del active x mirando en unas listas de certificados que el IE tiene configuradas por defecto. Cuando un activex no está firmado o no está firmado por alguien conocido, se abre un diálogo que te lo dice y te pregunta si quieres ejecutarlo o no: La mayoría de las personas dan al "yes" sin leer, lo cual ha ocasionado que miles de virus, spyware, dialers y fauna variada crearan páginas donde se engañaba al usuario para que pensara que tenía que dar al "yes" para disfrutar de los contenidos de dichas páginas. Como ya he dicho, el active es un ejecutable en código binario, un vulgar programa, por lo que una vez pasada la fase de identificación, el programa se ejecuta y como cualquier programa puede borrar archivos, o conectarte a un 906 en las cuentas privilegiadas que pone windows por defecto. Es bueno saber que Microsoft empieza a admitir sus errores

16 de febrero de 2006

"cultura informática"

Acabo de leer este post de Javi Santana sobre la cultura informática con el que creo que cualquier informático se sentirá identificado; especialmente con la categoría "listillos" que por saber hacer una partición creen que saben instalar windows o los que por haber instalado mandriva o ubuntu o haber hecho un hola mundo en C ya se consideran semihackers...

15 de febrero de 2006

"Uso C por razones históricas"

Que divertido es este email http://marc.theaimsgroup.com/?l=linux-kernel&m=113996955901948&w=2:

"However it is a C++ application, and I don't know about other people, but for various historic reasons I'd rather use C for a command-line application"

Lo que me llama la atención no es que prefiera usar C en vez de C++ para una aplicación de linea de comandos. Cada uno tiene sus gustos, y a pesar de que se han escrito aplicaciones C++ de lineas de comando con nombres como "dpkg" y "apt" hay gente que no le gusta. Lo que no trago es lo de "por razones históricas". Eso asume que por alguna razón, para seguir la tradición y "honrar" a los 35 años de historia de unix deberiamos seguir usando C permanentemente y ni tan siquiera considerar C++

Mirando de manera objetiva a la historia, uno se encuentra con que C en su origen fue bastante "innovador". Hasta entonces, los sistemas operativos se hacían en ensamblador, y por aquel entonces el "sistema operativo" consistía en el kernel (y por aquel entonces lo normal era que el shell del sistema se implementara dentro del kernel ) y las aplicaciones y compiladores o interpretes de cobol & friends. En aquellos tiempos había ese debate: ¿Se debe implementar el kernel en ensamblador - en aquel tiempo los kernels tenían un tamaño de un par de decenas de KB y hacerlo en ensamblador era manejable - o en un lenguaje de alto nivel que permita centrarse más en los algoritmos y no liarse tanto con las microooptimizaciones?

Unix fue de los primeros sistemas operativos en implementarse casi enteramente (excepto las necesarias partes en ensamblador en ciertas partes del kernel) en un lenguaje de alto nivel. Mirandolo desde una perspectiva histórica, lo que C viene a enseñar es que si puedes (y tiene sentido) usar C++ usalo aunque C++ no sea una maravilla. Si te va a hacer la vida más fácil, deja de hacer el imbécil (podría incluir aquí una referencia a cierto entorno de escritorio basado en software libre, pero las conclusiones son obvias) y usalo. Y recordar que C y unix se inventaron porque Ken y Ritchie querían jugar al space travel y el único sitio donde podían hacerlo era un PDP-7 sin usar en el que implementaron un SO básico y el juego, y que luego lo quisieron portar a un PDP-11 de otra oficina y les fastidió que tuvieran que reescribirlo y que por eso decidieron usar un lenguaje de alto nivel, para poder portarlo a otras máquinas fácilmente. Cada uno que saque sus conclusiones, pero las que yo saco es que utilizar C para aplicaciones de linea de comandos "por razones históricas" es una estupidez

Este blog no se muere

"porque el amor, cuando no muere mata; porque amores que matan nunca mueren"; que cantaba y canta Sabina y es un estribillo que me viene perfecto para enlazar el título de este blog con el día de San Ballantains. Si se han dado ustedes cuenta, acabo de utilizar uno de los estribillos más conocidos a lo largo y ancho de España para hacer lo que decía en el último blog: Manipular a la gente y hacerla pensar que tengo pensamientos profundos o cosas asi. Para parecer más profundo podría haber copiado toda la letra pero es que el cabrón de Sabina en este canción tambien dice "yo no quiero catorce de febrero / ni cumpleaños feliz" y me fastidia la asociación título - San Ballantains.

Asi que no puedo ocultarlo. Odio San Valentín. Me parece absurdo. Como dije a cierta persona en otro lado de internet, que el día de San Valentín sea "especial" implica directamente que la mayoría del resto de los días del año no lo son; y la vida de dos personas ha de ser realmente aburrida para que los días especiales de su vida sean los dictados por la sociedad y no por su propia iniciativa e imaginación. Pero no todo el mundo tiene iniciativa ni imaginación asi que comprendo perfectamente que haya gente que tenga que recurrir al día de San Valentín igual que los discapacitados recurren a la silla de ruedas. Quien mejor que los ejecutivos de las multinacionales para decirnos cómo y con qué productos debemos sentirnos felices. Si ellos conducen un BMW y viven en un chalet y no tienen que preocuparse de poder pagar la hipoteca el mes que viene, deben saber de felicidad más que nosotros.

La cosa es que en mi anterior post terminaba con un "Y hasta aquí llega este blog. No quiero hacerlo más largo". Alguien pensó que eso significaba que iba a cerrar el blog, y nada de eso, me refería a ese post en concreto.

Zona friki del post:

En slashdot publicaron el pasado una más larga y más que interesante entrevista con Jarod Jenson. Yo no sabía quien era antes de leer la entrevista, pero si no hubiera dicho que no lo se habría creado alrededor de mi una especie de halo de superioridad que podría haber utilizado para hacer que la gente se crea argumentos que no tienen ni pies ni cabeza (vale, ya me callo con la tontería esta de "como manipular", pero lo acojonante es que es verdad). El que si que se quien es es el entrevistador, Kirk McKusick, creador del logo de FreeBSD y desarrollador de su sistema de softupdates, uno de esos genios que cualquier proyecto quisiera tener

Es una entrevista larga, muy larga, pero recomiendo leerla. Aquí va un resumen porque se que habrá gente que no la leera: El tipo este fue administrador de Enron, allí estuvo a la cabeza de un proyecto para crear un programa de una aplicación de ecommerce de esas que son la leche. El tio parece que de lo que sabe es de encontrar y arreglar fallos de rendimiento en programas. Ahora tiene una empresa que se dedica a eso, a mirar programas de otros y a decirles por qué son tan lentos sus programas.

Y ahora aquí va una lista de las cosas que me llaman la atención de este tipo: En primer lugar, lo que cuenta de la aplicación de Enron esta. Empezó a desarrollarla y cuando estaba a mitad del desarrollo, decidió sacar a toda la gente que fuera posible y empezar a re-desarrollar toda la aplicación de cero utilizando todos los conocimientos que estaba teniendo con el desarrollo de la primera versión. Todo esto con la primera versión aun sin finalizar: Dejó a los programadores necesarios para sacar la versión 1 y se puso con la dos. If we had gone live and then just tried to go back and fix what is known bad code, then it wouldn't have worked. Starting from scratch was by far the best decision. Es decir, si hubieran intentado arreglar la primera versión, intentado mejorar una arquitectura diseñada mal desde el principio, no hubiera funcionado. Reescribirlo le ha llevado a que esa aplicación haya acabado siendo famosa por su velocidad y estabilidad y que haya tenido varios premios de la industria.

Luego cuenta cosas de lo que trabaja ahora, de decirles a los demás donde están sus fallos. La gente va y le dice: Tal programa va fatal, y por mucho que miramos el código no tenemos ni puta idea de qué pasa. La idea es que su empresa va, y se pone a hacer un diagnóstico del sistema: Utilizan herramientas de monitorización (mpstat, vmstat, y su preferida que parece ser Dtrace) para ir aislando el problema, y luego mirar el código para ver que pasa. Cuenta historias muy interesantes, como cierta aplicación que utilizaba el NotifyAll de java para notificar a un thread de algo. El notifyall despierta a todos los threads, y al tener la aplicación cientos de threads y pocos procesadores, se iniciaba una "carrera" por conseguir tiempo de procesador, por entrar en tal zona crítica para luego darse cuenta de que ellos no tenían que hacer nada...con tan solo borrar las tres letras "all" de "notifyall" el rendimiento subió por las nubes: 170%.

Luego está el caso de una aplicación matemática de montecarlo, que iba lenta; el programa tenía diez años y los programadores llevaban todos menos de uno trabajando en él. Le llamaron. Se puso a mirar. Se dió cuenta que el programita hacía muchas llamadas al sistema: Con dtrace averiguó que el programa estaba llamando miles de veces a "getenv" para saber las variables de entorno. Miró el código, y resulto que en loop principal del programa habían dejado código para que si exportabas una variable de entorno tipo "DEBUG", el programa generara información de depuración. Se les había olvidado quitarla, y el programa estaba continuamente llamando a getenv() para ver si había que sacar información de depuración, y los programadores habían estado monton de tiempo comiendose la cabeza con que si el algoritmo era bueno o no. Tiempo que tardó el tipo este en encontrar el problema: 3 minutos, mejora del 67%

Moraleja de todo esto: La gente es estúpida, y se puede ganar mucho dinero aprovechándose de la estupidez de la gente, y lo que es más impresionante: de forma legal. En este caso, de fallos obvios de programadores y de empresas que cansadas de sus programadores y agobiadas por las prisas de las fechas llaman a la empresa de este tipo a que les solucione la vida: I would say that the majority of the fixes that we do are fewer than 10 lines of code, either manipulating it some way, removing it, or adding it, to get major performance gains.. En una exposición reciente, puso un stand de su empresa con un reto: Llévenos sus programas, y en una hora o menos haremos que su programa vaya más rápido. De los 18 programas que les llevaron, 17 salieron con mejoras, y el que no salió era un programa de 227 lineas que calculaba MD5s doscientas veces en java y que pura matemática, poca carne donde morder y que no se molestaron. Si buscais en google podeis encontrar posts del tio en los foros de opensolaris, es un verdadero friki. No parece haber escrito ningún libro, pero desde luego ya le he mandado un email preguntando si va a escribir alguno o si puede recomendarme alguno

10 de febrero de 2006

Ya va, ya va el meme

Que aun no he respondido al meme de las cinco extrañas manías. La verdad es que se podría decir que yo no tengo manias, porque todo lo que yo hago es algo normal que hago por alguna razón y que todo el mundo debería imitar, pero bueno. Intentaré responder al meme tomando un punto de vista erroneo (es decir, el de la gente).

  1. Odio reinstalar. Llevo con la misma instalación de Debian desde hace 4 ó 5 años, he pasado de testing a unstable, he vuelto a testing cambiando los sources.list y esperando meses a que los paquetes de testing actualizaran a los que tenía de unstable. He dejado más de una vez al sistema en un estado inusable. Ahora mismo utilizo una mezcla de testing, paquetes de experimental, paquetes de unstable que necesitan esos paquetes de experimental, paquetes de unstable que me pongo porque me da la gana, repositorios externos, snapshots de CVS compilados e instalados a mano.....pero todo siempre sobre el mismo sistema. La última vez que tuve que reinstalar fue porque el disco duro se fue a la mierda y anteriormente por corrupción del sistema de archivos, sino llevaría más tiempo. Por cambiar de placa (ya he cambiado dos veces) o de disco duro (tres veces) no debería cambiar de mi sistema: mi propósito es cambiar el disco y/o la placa, para reinstalar no me hace falta cambiar de hardware. APT ha sido esencial para conservar el sistema en un estado aceptable y permítanme poner en duda que exista un sistema de gestión de software que lo hubiera hecho o lo haga mejor. Como contraste, hace una semana compré una controladora y disco duro SATA y XP necesitó una reinstalación.
  2. Siempre llevo puas encima. Toco la guitarra desde hace ¿12? años, y aunque no lleve una guitarra encima siempre llevo puas (aunque últimamente no recurro tanto a ellas). Despues de todo, nunca sabes cuando vas a necesitarlas para tocar en algún lado
  3. Cuando me gusta algo, lo pruebo mil veces. Cuando un músico me gusta, me pasos unos cuantos meses escuchando música suya (Llevo unos cuantos meses escuchando casi solo Sabina, Javier krahe y Brassens; por cierto esto me ha hecho darme cuenta de que alguna actualización de amarok o un rm -rf ~/.kde me había desactivado el envio de canciones a mi página de last.fm desde el 25 de diciembre, fun fun fun)
  4. . Cuando me gusta un libro lo releeo mil veces (no tengo ni idea de cuantas veces he releido el Silmarillion)
  5. Me gusta tener instalado Windows, aunque no lo necesite. Hay mucho que aprender de las cosas que otros hacen mal (o bien). Si más programadores de Linux utilizaran Windows a menudo con el propósito de tener que entender las cosas buenas y malas que tiene no se verian algunas de las cosas que se ven
  6. Odio las cosas complejas en el software. Esto no es una manía, es una obsesión. La complejidad y las abstracciones completamente innecesarias pueden hacer que: El código sea dificil de entender, dificil de evolucionar, que los fallos aparezcan más frecuentemente. En el software la simplicidad lo es todo. Cuando empiezo a ver algo de un programa, descripción o leer código o lo que sea, en el momento en el que las cosas se empiezan a hacer excesivamente complejas le cuelgo la etiqueta de "demasiado complejo" y paso a otra cosa. Aquí hay un buen post sobre los efectos de la complejidad en firefox, por ejemplo. A la hora de elegir entre dos opciones en algo relacionado con la informática, escojer la más simple y estúpida siempre funciona y acaba siendo beneficiosa a largo plazo


A estas alturas ya todo el mundo ha recibido este meme, asi para qué pasarlo. Si hay alguien que no ha hecho este meme y quiere darse por aludido, que se anime

9 de febrero de 2006

DRM simplemente intenta clavarnos un formato propietario

Tal vez ya se haya hablado de esto en otros lados, pero yo no lo recuerdo, asi que lo cuento

Como decía DVD John, el propósito del DRM no es limitar la libertad de la gente para compartir información. Esa es la moto que ellos quieren que nosotros (los supuestamente paranoicos) nos traguemos y discutamos. El CSS como cuenta en ese blog, ha sido un éxito total, puesto que su objetivo primario es controlar el mercado de reproductores

El DRM que intenta vender Microsoft y cia no es diferente. Si Sony quiere controlar el mercado de reproductores, las compañias de software quieren controlar el mercado de reproductores/suites/etc, y no otra cosa. Al igual que las compañias de hardware han impuesto el DVD negociando con las productoras (menos en el caso de algunas compañias de hardware que tambien son productoras y no necesitan negociar con nadie), las compañias de software quieren imponer sus esquemas mediante la producción de contenidos informáticos (videos, música, documentos) que funcionen con sus esquemas DRM

¿Por qué? Porque vender licencias de suites ofimáticas y reproductores mp3 es lo que a ellos les da dinero. ¿Qué ha estado haciendo Microsoft todos estos años en los que no existía openoffice y en los que .doc era un formato cerrado que nadie más manejaba? Vender suites sin moverse del asiento y sin cambiar prácticamente nada. Hasta que OpenOffice no ha aparecido con la compatibilidad con el .doc no han visto las orejas al verdadero lobo. Y tambien se han dado cuenta de la debilidad de los formatos propietarios: No importa como sean de complicados, se puede acabar adivinando su estructura como ha hecho OpenOffice. Y lo que es más, es completamente legal. Microsoft no quiere que sus formatos se puedan abrir con programas de la competencia - o al menos, sin que esa competencia les pague. Las estrategía de abrir los formatos XML de office 2003 es un camelo muy bueno. El DRM que nos quieren vender las compañías de software es exactamente la misma estrategia que se ha seguido durante décadas en esta industria con los formatos de archivo cerrados. Exactamente la misma

¿A qué me refiero? Tomemos por ejemplo, Itunes. (y no me gusta criticar a Itunes porque ha puesto en jaque a las discográficas y eso me gusta, pero las cosas como son). Famosa tienda online de música - la mayor el mundo - utiliza DRM para garantizar que su música no se puede escuchar en ningún reproductor aparte del ipod (al menos que ellos lo permitan algún día a alguna compañia). ¿Qué significa eso? Eso significa, ni más ni menos, que dentro de 5-10 años, todos los que han comprado música en Itunes hoy estarán obligados en un futuro a utilizar un programa y/o reproductor de Apple para escuchar sus archivos. No importará que el Ipod de dentro de 5 años sea el peor y el más barato o todo lo contrario, o que te guste otro, te verás obligado a comprarlo por huevos. Eso, o tirar tus canciones de Itunes por mucho dinero que te hayas gastado en ellas. Es una estrategia de negocio exactamente igual que la de los .doc cerrados, pero perfeccionada

Volvamos a Office 2003. Que casualidad, señores mios, que Microsoft haya abierto sus formatos XML de Office 2003 en aras de la compatibilidad entre sistemas. ¿De verdad creen ustedes que Microsoft ha publicado el formato de los documentos que permiten a Openoffice robarle miles de potenciales clientes en oficinas estatales y empresas, y precisamente en el segmento del office que supone el 30% de las facturaciones de Microsoft, para permitir la "compatibilidad"? No señor mio, aparte de el formato de documento estándar, el Office 2003 tiene otra curiosa novedad que nadie parece recordar: Soporte para añadir DRM a los documentos. Esto significa que los formatos abiertos de Office importan en realidad una putísima mierda: Solo el Office puede abrir documentos con DRM. Openoffice se queda fuera, por muy formato abierto que el documento DRMizado sea. De nuevo, los usuarios se quejarán de que no pueden abrir los documentos de office con openoffice y que no pueden migrar. Otra vez la misma trampa.

Esta es la misma estrategia de los formatos cerrados. Pero perfeccionada. ¿Perfeccionada? Si, muy perfeccionada. Porque esto ya no se trata de poner bytes en un lado o en otro y no documentarlo y que cueste poco o mucho hacer ingeniería inversa al formato. El DRM utiliza la criptografía para garantizar que sea completamente IMPOSIBLE acceder a los datos mediante ingenieria inversa. Las mismas ideas y algoritmos que utilizamos para encriptar cosas para proteger nuestra privacidad va a ser utilizada para cerrarnos de una manera perfecta alrededor de un solo producto software/hardware. Y es eso, lo que buscan, nada más. Microsoft busca que dentro de 10 años las personas que crearon un documento con DRM con office 2003 (la mayoría del mundo por su dominio del sector) se vean obligados a continuar comprando productos a microsoft aunque quieran usar openoffice. Apple busca que dentro de 5 años las personas que compraron música en Itunes (la mayoría del mundo por su dominio en el sector) se vean obligados a comprar un reproductor de música de Apple y no puedan comprar uno de creative. Recuerdo que un especialista decía que el DRM tenía problemas, porque cada empresa tiene su propio formato DRM y porque debe continuarse soportando ese formato DRM a lo largo de los años. No es un "problema". Es la RAZÓN por la que el DRM existe. Y la DMCA, la ley que permite meter en la carcel a quien intente romper sus esquemas DRM, es el cerrojo perfecto para completar la estrategia. Y a mi que me gusta bastante lo básico del capitalismo porque pensaba que todo este sistema consistía en poder elegir libremente y empezar empresas libremente, y ahora resulta que en este sistema se te imponen lo que tienes que usar como si estuvieramos en la Rusia comunista.

8 de febrero de 2006

Gracias, ministra Carmen Calvo

Por decir gilipolleces

"Hoy en día, cuando se habla de cultura, se habla de creación y de industria, una cosa sin la otra ya no existe"

"Si queremos que exista la creación debemos entender que hay que pagar ese trabajo"

Me encanta que la ministra intente buscar sistemas de remunerar a los artistas que se lo merecen y dar oportunidades a los que las necesitan, pero no estoy dispuesto a que se digan idioteces como que la cultura sin la industria no existe o que "haya que pagar" por ese trabajo, como si la cultura se hubiera mimetizado irremediablemente con el euro. Como si a partir de ahora los que salen de facultades de arte (nunca he encontrado a nadie ni nada que pueda "enseñar" arte, pero aparentemente algunas facultades creen que si que saben) tuvieran que echar curriculums directamente a las empresas para empezar a producir cultura (como si fuera una fábrica, como quería el Warhol)

Existe una amplia variedad de movimientos culturales que tienen precisamente como una de sus bases estar en contra de la "industria", por sacar una razón para rebatir a la ministra. Supongo que lo que es la cultura pop estará a su favor, por supuesto. En palabras de Andy Warhol, el "artista" que nos deleitó con el profundísimo significado - hay que fastidiarse - de decenas de latas de sopa repetidas, Hacer dinero es Arte, y trabajar es Arte, y un buen negocio es el mejor Arte posible

7 de febrero de 2006

Gmail unifica IM y email

No se el resto del mundo, pero yo no esperaba que esto pasara tan pronto.

Aquí está la página de ayuda. No está en todas las cuentas de email pero se irá añadiendo.

Puede que haya gente a la que parezca que unificar el email y la mensajería instantanea es una estupidez. No lo es, y dudo mucho que sea "cuestión de opiniones": El email y el IM es lo mismo. Tanto en el email como en el IM no haces más que mandar un mensaje de texto a alguien. La única diferencia entre el email y el IM es que el IM es instantaneo, y el email no. Esta diferencia no es lo suficientemente fuerte como para evitar que el email y el IM se puedan unificar: El email no es más que un caso particular de IM, un caso particular en el que los mensajes se van a leer más tarde y por tanto suelen estar más redactados y pueden incluir algún archivo, pero no tienen porque utilizar protocolos distintos, ni tan siquiera programas distintos.

En un mundo perfecto el email y el IM convivirían en un protocolo unificado. Cuando estuvieras desconectado, se acumularian los emails en el servidor, igual que los mensajes se acumulan hoy en jabber cuando estás desconectado y al igual que se hace con los servidores de correo. Cuando te conectaras, los emails se moverian a un apartado distinto de la interfaz del mismo programa, pero dentro del mismo programa. Incluso se podrían pasar a otro programa, y el otro programa podría utilizar el núcleo de tu programa de IM para enviar los emails.

Merece la pena imaginarse las consecuencias que esto podría tener hoy en día. Imaginate las listas de correo de desarrollo de un proyecto: Las listas de correo no son más que algo análogo a los canales de chat. La gente podría mandarse emails y si tal persona estuviera conectada, recibiria el mensaje, parche o lo que fuera en el mismo instante y podría iniciar una conversación, con lo cual la latencia de la comunicación se eliminaría, y el desarrollo y discusión de cosas en las listas de correo se aceleraría (nunca he visto a ningun IM que implemente algo análogo a "CCear" a alguien, pero en un mundo perfecto...). Imaginate a la hora de discutir un parche de seguridad, en vez de tener que esperar 5 minutos a que el programa vuelva a recoger el correo o estar todo el rato dándole al botón de recibir nuevo correo las discusiones serían de forma instantanea. Incluso se podría iniciar comodamente una conversación VoIP, y poner encriptación de por medio. Si una persona no estuviera online, no recibiría ningún mensaje y leería las conversaciones al día siguiente, al conectarse con su cliente de IM y recibir en la interfaz de mensajes una decena de correos. Por supuesto, google mail no parece ir tan lejos, pero al menos se acerca algo a la idea y anima a otras empresas a que intenten ir "más allá" para hacer la competencia

Sinceramente, esta unificación de IM y de email me parece la novedad más importante que han sufrido tanto el IM como el email desde sus respectivas concepciones.

6 de febrero de 2006

Servidor de vmware gratuito

Vmware ya había ofrecido gratuitamente su "reproductor": Un programita para poder arrancar las imágenes creadas a partir de un vmware normal. Pero ahora vmware ofrece tambien el servidor.

¿Que quiere decir? Básicamente, que vmware ofrece su producto de virtualización de manera gratuita para las necesidades básicas. Serán las "necesidades más complejas" y de soporte las que necesitarán una licencia de pago

Por supuesto, vmware es gratis pero no es código libre. ¿Y por qué iba un usuario de software libre usar un producto propietario? Bueno, si tienes instalado windows por lo que sea y windows es un producto cerrado, no veo que sea un sacrilegio usar software propietario para ejecutar sistemas operativos propietarios de manera más cómoda. Yo uso el plugin propietario de flash y no se me caen los dedos, y es la misma cuestión ética. No se puede instalar con paquetes sino a partir de un script propio, pero puedo asegurar que ese script de instalación es absolutamente magistral y no te "ensuciará" el sistema: Si le das a control + c, creo recordar, el script lo capta y deshace todas las acciones llevadas a cabo en vez de pararse de repente, y cosas así.

Por supuesto, la reacción de vmware viene como reacción a Xen y a Microsoft y toda la murga. Xen es gratuito, y aunque requiere que el sistema operativo esté portado a Xen es mucho más rápido que vmware. Vmware está en problemas: Tanto intel como amd están añadiendo virtualización por hardware, que hace la tarea de virtualizar tan sencilla que es de esperar que venga de mano del sistema operativo. Vmware se posicionará como una "alternativa de mayor calidad" a los sistemas de virtualización nativos de windows y linux, pero para eso tienen que tener gente interesada. Y este servidor se trata de eso: De atraer a gente. Me da igual hacerles de marketing gratuito: vmware sea propietario o no, al soportar linux ha hecho que mucha gente pudiera pasarse a linux e instalar windows en vmware para las necesidades, sin vmware más de una persona no se habría cambiado a linux, y diga lo que digan stallman & friends, que un software sea cerrado no quiere decir que sea hostil o que no sea util y que no ayude al software libre.