27 de noviembre de 2011

Estupidez artificial

En los últimos meses se han visto un par de cosas muy interesantes hechas con ordenadores que a mi juicio tienen una gran importancia. Me refiero a la victoria del ordenador de IBM "Watson" en un concurso de Jeopardy, y "Siri", el asistente de voz del iPhone.

Y si, sé que, además del tradicional reconocimiento de voz, existen programas como las acciones de voz de Android y aplicaciones análogas. Pero les desafío a encontrar alguien que diga en serio que Siri no está bastante más refinado, basta echar un ojo a los vídeos donde se comparan a ambos. Siri no sólo reconoce lo dicho sino que capta el contexto de las conversaciones y las intenciones con una calidad envidiable, y está perfectamente integrado con el resto del sistema. Para la gente no interesada en la tecnología, poder decir a un teléfono "recuerdame que tengo que comprar leche cuando salga del trabajo" es muy llamativo, y para bien o para mal Apple va a ser considerado por el público como la primera compañía que fue capaz de hacer semejantes operaciones con cierta dignidad y sin instalar ningún extra. Fanboysmo no, gracias.

La relevancia de Watson y Siri es que, en el espacio de unos pocos meses, han mostrado al mundo que comunicarse a los ordenadores mediante voz ha dejado de ser una cosa de ciencia ficción o de programas de reconocimiento de voz, la charla puede ser un medio habitual para comunicarse con ordenadores. Ejemplo, búsqueda. Aunque la afirmación que se ha leído por ahí sobre que Siri es un "google killer" es una clara exageración, no excluye la realidad de que buscar mediante voz -entender lo que se pregunta, no simplemente sintetizar la búsqueda en texto- va a ser algo cada vez más importante para los motores de búsqueda. Wolfram Alpha -utilizado por Siri para responder algunas preguntas- parece cada vez más interesante.

Todo lo dicho en este artículo es obvio y lo habrán leído ya en otros lados. Sin embargo, en este humilde blog he decidido ponerme mi sombrero futurista e intentar ir más allá. Watson usa 2.880 Power7, 16 TB de RAM y 4 TB de almacenamiento. ¿Que ocurrirá el día en el que el progreso del hardware y la mejora y "comoditización" de esta clase de software ponga esa misma capacidad de procesamiento en un puñetero teléfono móvil? Quizás lleguemos a descargarnos toda la literatura médica vigente hasta la fecha y la base de datos de Wikipedia, y podremos obtener diagnósticos médicos preliminares -Watson ya está en ello- o información de cualquier concepto histórico. ¿Por qué no? De hecho, llegaríamos a tener cosas así en la nube antes de que los móviles lleguen a ese punto.

También es interesante plantearse los retos que este tipo de juguetes planteará a los programadores. Tradicionalmente, los programadores se relacionan con sus usuarios mediante interfaces de usuario. Pero visto lo visto, no es ninguna quimera plantearse un mundo en el que los usuarios quieran usar programas hablando.

Lo más curioso de esto es que la sociedad mitificó durante años la "inteligencia artificial". En realidad no necesitamos inteligencia, nos basta con un cierto nivel de estupidez artificial que sea capaz de buscar dentro de bases de datos y entender órdenes simples, algo así ya sobra para causar una revolución social. Piensen en puestos de asistencia al cliente, ciertas clases de funcionarios. ¿Cuánto tardaremos en ver Siris y Watsons por las esquinas?

19 de noviembre de 2011

Glamor, el nuevo Glucose

En 2006, Zack Russin, trabajador en QT en el área de gráficos, hizo unos parches muy interesantes llamados "Glucose", que consistían en una nueva arquitectura alternativa para X.org en la que todas las operaciones gráficas del servidor (desde las más básicas a las de la extensión Xrender) se realizaban vía OpenGL. Su objetivo era que los drivers de X.org desaparecieran, y fueran sustituidos por una especie de driver único OpenGL. De ese modo todos los flujos de código se unificarían en una sola ruta gráfica, y la hierba verde brillaría bajo los rayos del Sol. Desgraciadamente, Glucose no llegó a ningún lado (al igual que Xgl, con el cual estaba relacionado, y que desapareció para dar paso a AIXGL).

En las últimas semanas se ha oído hablar, vía Phoronix, de Glamor, un proyecto de gente de Intel para hacer algo esencialmente similar a Glucose.

A primera vista, esto podría parecerles un buen paso. Pero eso sería porque no conocen a fondo el maravilloso mundo gráfico linuxero, que a pesar de los grandes cambios logrados en los últimos años sigue en continua batalla consigo mismo:

· Intel está trabajando en una nueva arquitectura de aceleración para su driver optimizada para plataformas SandyBridge y posteriores. De tener éxito, Glamor haría que todo ese trabajo fuera obsoleto.

· Intel no está interesado en Gallium3D. Siguen trabajando con su modelo Mesa de-toda-la-vida porque opinan que reescribir el driver de nuevo daría mucho trabajo.

· Pero hay un driver Gallium3D para chips Intel no oficial, desarrollado por VMWare, Google y otras compañías interesadas en ello.

Con lo cual, el plan de Glamor consistiría, en un principio, en cambiar el driver X.org actual de Intel, ya sea con la arquitectura de aceleración normal o con la nueva optimizada para Sandybridge, por un modelo OpenGL, pero no con un driver Gallium3D, que se supone que es el futuro de Mesa, sino con el tradicional soportado por Intel. O con el de Gallium3D, si a alguna distro le parece más bonito.

Y si lo anterior les resulta complicado, recuerden que las GPUs programables modernas, a pesar de todo su poderío, no siempre son rápidas con operaciones 2D tradicionales, lo cual quiere decir que aunque mover todo el flujo de operaciones gráficas a OpenGL acelerará muchas cosas, habrá operaciones en los que no será tan competitivo, y menos con el modelo de dibujado no-QML + X11/Xrender.

Lo que quiero decir con todo esto es que espero que un día Wayland venga, arrase con todo, y todo rastro de existencias pasadas quede erradicada de la faz de Internet.

18 de noviembre de 2011

Y ahora, syslog

A Lennart Poettering y Kay Sievers les ha dado por reinventar syslog. El invento se llama "journal", almacena los datos en formato binario y forma parte de systemd.

Aunque parece que no intentará "ocupar" las APIs propias de syslog() (syslog será una fuente de información, pero journal tendrá sus propias APIs), no cabe duda que Lennart acaba de garantizarse una vez más el odio eterno del conservadurismo unixero (¡no almacena la información en texto plano, a la hoguera!)

5 de noviembre de 2011

Canonical se pone serio


En los últimos tiempos se ha hablado mucho de esta magnífica noticia: Ubuntu quiere estar presente en teléfonos de última generación, tabletas y televisiones inteligentes.


No está nada mal que una de las grandes distros Linux asuma que la sobremesa no lo es todo: el mundo post-PC, como lo llamó Steve Jobs (que pueden criticarle lo que quieran, pero tenía más razón que un santo), es cada vez más real. Hasta los hackers de software libre más renombrados están usando smartphones en los que las distros convencionales tienen un papel casi nulo: ¿por qué tendría que conformarse alguien al mando de una compañía Linux, como Shuttleworth, con Android?

La impasibilidad del mundo linuxero ante las nuevas costumbres tecnológicas ha sido bastante sangrante. Cuando el iPad vio la luz, el comentario generalizado fue predecir su rotundo fracaso, ahora todo el mundo se preocupa de los bloqueos fronterizos de Apple relacionados (por cierto, se están ganando a pulso una imagen pública horrible). Y es triste, porque el software libre tiene muchas ventajas que explotar en un mundo en el que cada persona pueda tener 2 ó 3 dispositivos y no hay nadie en la familia que no los tenga. Me refiero a "integración": eso que al software libre se le da tan mal a pesar de qué, en teoría, debido a la posibilidad de modificar cualquier parte del sistema, debería ser sencillo. A los linuxeros debería sonrojarnos que Microsoft tenga cosas como el nuevo Homegroup de Windows 7 (digno de aplauso, dicho totalmente en serio) o que Apple tenga cosas como AirDrop mientras que la comunicación entre distros Linux es tan...sin comentarios.


Queda por saber con qué fabricante pretende aliarse Shuttleworth y qué nivel de compromiso y cuota de mercado pretende alcanzar. En esto de las tabletas y smartphones, la integración entre hardware y software es un requisito, y estando ya casi todo el pescado vendido a favor de Apple y Android (y Nokia&Microsoft gastando millonadas para ocupar cualquier resquicio restante), resulta poco creíble que ni Ubuntu ni nadie pueda tener posibilidad de éxito notable. Sin embargo, da una pista:  "From the industry viewpoint, Google acquisition Of Motorola Mobility has shook up the hardware vendors, so some of them are looking for non-Android alternatives".

Que es una manera de decir: "Estamos trabajando con un fabricante de hardware rebotado por el tema de Motorola, pero de momento no podemos decir quien para que no se enfaden". Es decir, espero que se refiera a eso. Porque si está diseñando un SO para ese tipo de dispositivos sin tener en dónde instalarlo, lo lleva claro. En cualquier caso, seguro que le va mejor que MeeGo/Tizen.

Por cierto, ¿saben qué nueva información hay de Tizen? Nada: la única información disponible sigue siendo el (único) post de blog del anuncio inaugural. Sólo hay una empresa llamada Nomovok montando un summit bastante poco sugerente, y publicando noticias cortas de Tizen. Se dedicaban a ofrecer servicios a empresas de hardware que quisieran usar Meego y ahora pretenden lo mismo con Tizen, por desgracia con aparente poco éxito tras la desbandada de Intel y Nokia. Más allá delo que Nokia haga con el N9, MeeGo parece estar completamente muerto.