software libre

Publicado el manual de comandos del DNIe

DNIe¡Por fin una buena noticia sobre el DNIe! Después de tantos problemas, de tantos trucos (a veces infructuosos) para echar a andar la autenticación y la firma no sólo en sistemas Linux, sino también en Windows, parece que vamos hacia un camino de simplificación gracias al manual de comandos del DNIe.

¿Por qué es esto tan importante? Porque este manual permite una comunicación directa con el chip del DNIe, sin necesidad de acudir a sus drivers nativos, que como todos sabemos, rara vez funcionaban en sistemas Linux.

Además, este manual abre la puerta a un camino más sencillo para la instalación del entorno adecuado por parte del usuario final, lo que no sólo beneficia a éste, sino también a todas las empresas que quieran sacarle partido a la autenticación y firma que ofrece el documento de identidad electrónico.

Vía GenBeta.

Excelente tutorial para instalar el DNIe en Linux

DNIeBuscando una manera definitiva de instalar el DNIe en Linux, he encontrado un excelente tutorial en bitelia que lo explica paso a paso y en un tono muy asequible para usuarios de cualquier nivel.

Lo ideal sería que el soporte fuera oficial, y aunque ya se han publicado los fuentes PKCS11, todavía queda mucho camino por recorrer para que Linux sea considerado por las autoridades una opción tan válida como Windows.

Encuentro Gnome en Sevilla

GnomeEl sábado 1 de mayo estuve con @spesgmd en el Encuentro Gnome Sevilla, organizado por Yaco y Emergya. No había escrito nada hasta ahora porque he tenido una semana de perros, y sábado y domingo los he usado para un merecido descanso. Hecho el inciso de justificación, prosigo.

Las oficinas de Yaco son realmente atractivas; creo que no hay dos paredes del mismo color, casi todos los espacios son abiertos y tienen una mesa de billar. Como llegamos para la charla de las 12:30 sobre accesibilidad, y había gente desde primera hora, nos tuvimos que conformar con participar desde los laterales del aula, pero con las ventanas abiertas se escuchaba bien.

Gracias a los comentarios de los compañeros que participaron, me puse al día en lo que a accesibilidad open source se refiere. Se habló de aplicaciones y utilidades como at-spi2 (hook entre los lectores de pantalla y el sistema operativo), Orca (el lector de pantalla OS por excelencia), Evince (un lector PDF accesible en cuanto a menús y controles, pero no muy maduro en lo que a los propios documentos se refiere) un lector de PDF que no parece estar muy maduro (creo que se llama Lince, pero no he encontrado referencias al respecto), OCR Reader (un lector OCR para ciegos) y Caribou (teclado virtual para personas con movilidad reducidas). También se trató la diferencia entre Gnome y KDE en lo que a accesibilidad se refiere (al fondo, en una pizarra, se leía: "The world is blue like KDE"), aunque desde mi humilde punto de vista, sería interesante coordinar desarrollos comunes para que la opción de usar un escritorio, para personas con problemas de accesibilidad, fuera tan libre como para cualquiera. Por último, se expusieron las necesidades actuales, que se pueden resumir en lectores de braille, software de reconocimiento de voz y comunicadores pictográficos, así como en centros interesados tanto en consumir estas soluciones como en asesorarlas para que sean realmente útiles (ONCE, centros de parálisis cerebral, etc.).

La segunda charla versaba sobre CouchDB y vino de la mano de Rodrigo Moya. Se trata de un servidor de documentos almacenados en base de datos que son servidos mediante REST. Forma parte de los sistemas NoSQL, es decir, bases de datos no relacionales. Entre sus características más notables está el hecho de ser distribuido, con soporte para sincronización entre distintas instancias, y de poseer un sistema de detección y gestión de conflictos, lo que lo convierte en un sistema ciertamente robusto y fiable.

Los documentos se almacenan en formato JSON. Soportan tipos de datos básicos, listas y estructuras, objetos, estructuras libres y ficheros adjuntos. Cada documento tiene un identificador único (_id) y un número de revisión (_rev).

Una base de datos contiene una colección de documentos, y su número no está restringido, así como tampoco su tamaño ni el número de documentos que puede almacenar. CouchDB está escrito en Erlang, lo que, al parecer, garantiza que los datos no se corromperán aunque el sistema se caiga.

Las consultas se canalizan a través de las vistas, que se escriben en JavaScript y devuelven resultados formateados. Se definen dentro de un documento de la base de datos con un nombre especial y conteniendo una función en JavaScript. Como las vistas tradicionales de cualquier SGBD, cachean los resultados.

Otro aspecto interesante, y en el que se basaba realmente la charla, es la sincronización, que permite replicar datos entre cuantas instancias se desee de manera bidireccional. Se copian sólo los documentos y campos que han sido modificados, lo que según Rodrigo es muy eficiente, pero que un compañero discutió arguyendo haber realizado pruebas de rendimiento con CouchDB, las cuales demostraban un descenso del mismo con un volumen alto de documentos. El algoritmo de generación de revisiones es idéntico en todas las instancias, lo que asegura la detección de las últimas versiones reales y permite detectar y gestionar los conflictos, actualmente de manera manual, y en el futuro, esperan, de forma automática.

CouchDB se integra con C (a través de la librería couchdb-glib, con bindings en desarrollo para Mono, Vala y Python), Python (a través de python-couchdb) y Java (a través de jcouchdb).

Se quedó en el tintero una explicación más detallada del descubrimiento de instancias y publicación de servicios a través de Avahi.

La última parte de la charla versó acerca de DesktopCouch, una integración de CouchDB en aplicaciones de escritorio para la replicación y sincronización automática de información entre ordenadores. Forma parte de la integración de Ubuntu One en el escritorio. La idea central consiste en mantener sincronizados nuestros contactos, notas y marcadores (y en el futuro, otro tipo de datos) con servidores distribuidos para acceder a nuestra información desde cualquier lugar y con nuestras aplicaciones favoritas. La integración ya es un hecho con Tomboy, Convoy y Tomdroid para las notas; Evolution, Akonadi y Thunderbird para los contactos; y Firefox para los marcadores.

Claro que no todo el trabajo está hecho. Una de los problemas que están intentando resolver es la estandarización de formatos, algo imprescindible para que las aplicaciones puedan trabajar entre sí, y que tiene mucha relación con la web semántica. Uno de los objetivos más ambiciosos es que aplicaciones en principio incompatibles, como las de KDE y Gnome, puedan por fin entenderse.

A corto plazo, la intención es integrar las tareas en Evolution y sincronizar la configuración de Gsettings, lo que significaría que puedes sentarte frente a un ordenador de un desconocido y tener tu configuración personal replicada. A medio plazo, se proponen integrar calendario y tareas en Evolution y Akonadi, así como los metadatos de Tracker. A largo plazo, que todos nuestros datos estén replicados en nuestras máquinas y dispositivos móviles, y por qué no, dominar el mundo.

Mi impresión de las dos charlas, además de mi profundo desconocimiento de los temas que se trataron, fue que el panorama open source se está consolidando en nuestra región, pero son pocas las empresas que apuestan realmente por esta filosofía. Es de esperar que este movimiento acabe cuajando y se convierta en lo habitual.

Actualización 11/05/2010. Agradezco a @spesgmd que me haya sacado de la confusión entre Lince (que no existe) y Evince.

Cinco motivos prácticos para pasarse a Linux

TuxCon la reciente creación de la página de eMartos en Tuenti, he iniciado un debate sobre el uso de Linux como sistema operativo de escritorio. Los motivos que esgrimo en favor del sistema libre se basan en mi experiencia y creo que son asequibles para usuarios no técnicos:

 
  1. Linux no se degrada. Dicho de otra forma, no es necesario formatear el ordenador de cuando en cuando, ni de un día para otro empieza a ir más lento.
  2. Linux permite recuperar un sistema de ficheros roto. En Windows, cuando se pierde un fichero o el disco duro tiene problemas de integridad, rara vez es posible recuperarlo, y para intentarlo es preciso usar herramientas de terceros. En Linux, la recuperación es automática y se puede realizar con herramientas nativas.
  3. En Linux no hay virus. Aunque es cierto que existen algunas condiciones que permitirían ejecutar código malicioso en Linux, es bastante improbable que esto suceda gracias al sistema de permisos del sistema operativo y al hecho de que la gran mayoría de las aplicaciones se instalan, desde repositorios de confianza, a partir de código fuente. En Windows, los virus son una lacra insufrible, y el sistema carece de antivirus propio.
  4. En Linux, la mayoría de aplicaciones necesarias son gratuitas. Y no me refiero a que se puedan conseguir vía p2p, sino a que sus autores las ofrecen sin coste. En Windows, ni siquiera podemos grabar un DVD sin tener que buscar un programa específico. Esto no significa que todo en Linux sea gratuito, pero sí lo esencial.
  5. Linux logra un mejor rendimiento de ordenadores viejos. Los ordenadores antiguos, esos que nadie quiere porque no se les puede instalar ni un XP, suelen funcionar bastante bien con casi cualquier distribución de Linux, con lo que se les puede dar una nueva vida.

Y lo más importante de todo: Windows no tiene mascota.