Instalación de Fedora 28 en DragonBoard 410c

DragonBoard 410c vs Raspberry Pi 3

DragonBoard410c

La DragonBoard 410c es un «ordenador en placa» (Single Board Computer) similar a la más conocida Raspberry Pi 3. Cuando salió al mercado en 2015, la DragonBoard era más potente que la Raspberry Pi 2, pero posteriores actualizaciones han restado valor a esta pequeña bestia. La DragonBoard 410c dispone de un procesador de cuatro núcleos ARM Cortex A53 a 1.4 GHz, 1 GB de RAM, 8 GB de memoria flash, microSD, HDMI, 40 pines digitales lentos, Wi-Fi, Bluetooth, GPS, USB, etc.

En la tabla de abajo se puede ver la comparación de las características de la Raspberry Pi 3 más reciente (la B+) y de la DragonBoard 410c.

  Raspberry Pi 3 B+ DragonBoard 410c
CPU

ARM Cortex A53 (4 núcleos).
Broadcom BCM2837B0. 1.4 GHz.

ARM Cortex A53 (4 núcleos).
Qualcomm Snapdragon 410. 1.4 GHz.
Bits CPU 32/64 32/64
RAM 1 GB LPDDR2 1 GB LPDDR3
Memoria flash No 4 GB eMMC 4.5
Memoria externa MicroSD MicroSD
GPU Broadcom Videocore IV
OpenGL ES 1.1, 2.0

Qualcomm Adreno 306
OpenGL ES 3.0, OpenCL, DirectX

HDMI 1.4. Tipo A - 1080p HD. Tipo A - 1080p HD.
Wi-Fi 802.11 b/g/n/ac 2.4/5GHz 802.11 b/g/n 2.4GHz
Bluetooth 4.2, BLE 4.1
USB

4 x 2.0 (modo anfitrión).
1 x Tipo C (alimentación).

2 x 2.0 (modo anfitrión).
1 x Tipo C (modo dispositivo).

Ethernet Gigabit Ethernet No
GPS No
Alimentación 5V, 2.5A (Micro USB). 8V~18V, 3A (conector jack).
Pines 40x: 28xGPIO,UART,SPI,I2C,3.3V,5V.

40 x baja velocidad: UART,SPI,PWM,12xGPIO,+1.8V,+5V.
16 x analógicos: radio FM, auriculares.
60 x alta velocidad: 4L MIPI-DSI,USB, I2C x2,2L+4L.

Voltaje pines +1.8V +3.3V
LEDs   4 x Controlables por el usuario.
1 x Wi-Fi.
1 x Bluetooth.
Tamaño 85mm x 56mm 85mm x 54mm
Precio 40€ 70€

Para mi, las ventajas de la Raspberry Pi 3 B+ son claras: es una placa más barata y popular, con una gran comunidad a su alrededor. Los pines trabajan a 3.3V, lo cual es una dificultad añadida para los que estamos acostumbrados a los 5V de Arduino, pero mucho mejor que los 1.8V de la DragonBoard, que obliga a usar niveladores de voltaje con muchos sensores diseñados para 3V o 5V. La Raspberry Pi tiene un conector de red Ethernet que en ciertas ocasiones es muy útil.

La DragonBoard 410c por su parte es una placa con características extras interesantes. Por un lado está la memoria flash de 8 GB, en la que podemos instalar el sistema operativo (aunque Fedora sólo se puede instalar, de momento, mediante la tarjeta microSD). La DragonBoard tiene gran variedad de pines, incluyendo soporte para salida de sonido y radio FM. Los LEDs de usuario también pueden ser útiles. Y, finalmente, el receptor integrado de GPS, aunque sólo será posible usarla si está soportada por el sistema operativo instalado.

En mi caso, ya disponía de la placa DragonBoard por razones profesionales, siendo una de las placas de referencia de Ubuntu Core.

Descarga de software

A diferencia de Ubuntu Core, la instalación de Fedora requiere la actualización del firmware de la DragonBoard. Y antes de seguir quiero aclarar (¿declarar? :) que sigo las instrucciones de Peter Robinson :)

En esta página de Linaro se pueden encontrar los últimos ficheros de rescate para la DragonBoard 410c. Ahí encontraremos el firmware actualizado. Al entrar en el directorio más reciente (ahora mismo, 17.09) veremos los ficheros para descarga al final de la página. De ellos, hay que descargar dragonboard410c_bootloader_emmc_linux-XX.zip (XX es un número, en el caso de la captura de abajo es 88).

Captura de pantalla de 2018-08-01 23-55-45

Además de ese, hay que descargar otros dos ficheros provistos por Fedora: u-boot.img y emmc_appsboot.mbn.

Captura de pantalla de 2018-08-02 00-44-35

Finalmente, debemos descargar la imagen de Fedora para ARM 64 bits. En la página de descarga de Fedora se ven diferentes sabores de Fedora. Por ejemplo, se puede instalar la versión Workstation y usar el escritorio Gnome. En mi caso, decidí quedarme con la versión modo consola, la Fedora 28 Minimal.

Esta imagen la instalaremos luego en una tarjeta microSD. Hay que asegurarse de que la tarjeta tiene espacio para la imagen. Es raro encontrar tarjetas hoy en día de menos de 1 GB, pero el aviso es obligatorio ;)

Instalación del firmware

Una vez descargados todos los ficheros necesarios, nos vamos a un PC con Fedora, aunque también podría hacerse desde Ubuntu u otros Linux instalando los paquetes adecuados. En mi caso, uso la última versión al momento de escribir, Fedora 28.

Lo primero que hacemos con las descargas es descomprimir los ficheros. En concreto, el dragonboard410c_bootloader_emmc_linux-XX.zip. Trasladamos emmc_appsboot.mbn y u-boot.img al directorio donde hayamos extraído los ficheros del zip.

Captura de pantalla de 2018-08-07 02-02-31

Ahora hay que encender la DragonBoard en modo fastboot, de tal forma que permita la actualización del firmware. Para ello, mantenemos presionado el botón de bajar volumen etiquetado (-) y S4, situado junto a los puertos USB, y conectamos la alimentación. Tras 30 segundos, soltamos el botón y ejecutamos las siguientes órdenes:

$ sudo ./flashall
$ sudo fastboot flash aboot emmc_appsboot.mbn
$ sudo fastboot flash boot u-boot.img

Con ésto habremos actualizado el firmware de la DragonBoard 410c y ya estará lista para iniciar Fedora desde la tarjeta microSD.

Instalación del software

Para instalar Fedora en la tarjeta microSD, abrimos una terminal e instalamos los siguientes paquetes: arm-image-installer, android-tools y screen.

$ sudo dnf install arm-image-installer android-tools screen

Seguidamente insertamos una tarjeta microSD en el PC (en mi caso, una de 32 GB) e instalamos la imagen descargada de Fedora en la tarjeta. Para ello usamos la utilidad fedora-arm-image-installer. Antes de ejecutar la orden, hay que conocer el nombre del dispositivo asociado a la tarjeta y lo encontratemos mediante el comando lsblk. Advertencia: Hay que asegurarse de que el nombre del dispositivo es el correcto, o de lo contrario borraremos los datos de otra unidad de disco.

Captura de pantalla de 2018-08-10 00-19-06

Como vemos, la tarjeta de 32 GB (al darle formato se queda en 29 GB) es /dev/sdb.

$ sudo fedora-arm-image-installer --image=Fedora-Minimal-28-1.1.aarch64.raw.xz --target=dragonboard410c --media=/dev/sdb --resizefs

Captura de pantalla de 2018-08-10 00-25-07

Tras unos minutos (puede tomar un rato) la tarjeta ya está casi lista para ser insertada en la DragonBoard.

La forma más sencilla de conectar la DragonBoard a Internet es a través de Wi-Fi. Sin embargo, en Fedora 28 el controlador de la Wi-Fi no viene de serie y por tanto, hay que usar un adaptador USB-Ethernet.

Configuración

La primera vez que ejecutemos Fedora en la DragonBoard hay que configurar varias opciones la contraseña del superusuario. 

Captura de pantalla de 2018-08-10 01-16-37

Una vez hayamos finalizado la configuración, presionamos 'c' para continuar. El sistema se reiniciará.

El último paso de la configuración de la DragonBoard es la descarga e instalación del firmware para la Wi-Fi (paquete disponible gracias a Peter Robinson de Fedora). Para ello, iniciamos una sesión con el superusuario (root) 

$ curl -O https://fedora.roving-it.com/qcom-db410c/wcn36xx-firmware-1032.1.1-1.fc27.noarch.rpm
$ sudo rpm -i wcn36xx-firmware-1032.1.1-1.fc27.noarch.rpm
$ sudo reboot

Aunque el fichero es para Fedora 27 (fc27), Al reiniciar la DragonBoard, el firmware de la Wi-Fi se cargará automáticamente. 

Para configurar la conexión Wi-Fi usamos la utilidad nmcli.

Captura de pantalla de 2018-08-10 01-47-00

$ nmcli device wifi 
$ sudo nmcli device wifi connect <NOMBRE DE LA RED WI-FI> password <CONTRASEÑA>

Con la primera orden listamos las redes Wi-Fi disponibles y con la segunda nos conectamos a la red que indiquemos.

Con esto ya podemos comenzar a trastear con Fedora en la DragonBoard.

Enlaces


Cómo vencí al sedentarismo

A decir de los comentarios en las redes sociales, cerramos el año 2016 con una sensación de que el mundo ha torcido su rumbo: el Brexit, la victoria de Donald Trump, los atentados en Europa, las personalidades fallecidas... Sin embargo, en lo que a mi respecta, ha sido un año muy bueno en lo personal. Pero las cosas no pintaban nada bien hace 12 meses. Física y anímicamente decaído por diversas dolencias pensaba que este año sería muy complicado. Si tu trabajo te mantiene muchas horas frente al ordenador, por favor, continúa leyendo. Se suele asociar al sedentarismo únicamente con el sobrepeso, pero los problemas pueden ir más allá.

Los riesgos de trabajar en lo que te apasiona

Llevo más de una década trabajando de forma remota. Nací y vivo en la isla de Gran Canaria, un lugar donde se puede tener una excelente calidad de vida. Pero mis intereses siempre han estado fuera. Internet ha brindado la oportunidad de desarrollar mi carrera profesional trabajando en empresas y proyectos de forma remota en lugares intelectualmente fértiles. Y cuando trabajas en lo que te apasiona se corre el riesgo de no poner límites. Fue mi caso.

Me gusta ofrecer lo mejor de mi y, por supuesto, siempre se puede dar más: unas horas extra cada día, un fin de semana para una entrega crítica, unas horas extra para la formación en el tiempo libre, y así vamos olvidando otras cosas importantes, como el ocio y el mundo exterior. Por supuesto, estos esfuerzos adicionales, cuando se acumulan, pasan factura. Fue mi caso.

La implosión del cuerpo

Hace unos diez años estuve de baja porque, tras años de trabajo extra, mi cuerpo había dicho «basta». Estar en el ordenador más de cinco minutos me producía un gran dolor de cabeza. El neurólogo me aconsejó alejarme del ordenador durante una temporada, hacer ejercicio y diversos medicamentos. Cumplí la parte del reposo pero no la del ejercicio. Y a la vuelta, ya nada fue igual. Los malos hábitos habían limitado mis movimientos de cabeza y espalda. No podía utilizar varios monitores, utilizar un portátil o leer sentado, porque requería mirar hacia abajo. Tampoco podía levantar grandes pesos.

Estas molestias se volvieron crónicas. Desde entonces he visitado periódicamente al fisioterapeuta, que aliviaban los síntomas y permitían que llevara una vida «normal», al menos en apariencia. Pero en realidad enmascaraban el problema de fondo. Con el paso de los años, la limitación de movimientos se fue agravando y crearon nuevos problemas.

Las Navidades de 2015 el dolor de espalda se hizo insoportable. Al caminar se me dormía la pierna derecha, estar de pie me resultaba molesto, lo mismo que estar sentado. El dolor de lumbares me mantuvo en cama parte de las Navidades.

Así que 2016 comenzó para mi con perspectivas sombrías.

La luz al final del túnel

En reyes del pasado año, mi hermano Alberto me hizo un regalo especial: 10 sesiones con un entrenador personal. No estaba del todo convencido, y pospuse la oferta hasta tener un diagnóstico. Finalmente, el traumatólogo descartó un problema irreversible y recetó sesiones de fisioterapeuta, en especial, en piscina. Me recomendó que en general hiciera ejercicio, ganese movilidad, y bajara de peso. Pero después de tantos años de fisioterapia, no creía que fuera a resolver nada. Quería una alternativa y me animé, ahora sí, a utilizar las sesiones con el entrenador. Y esta fue la mejor decisión que he tomado en años.

Juanje Ojeda entendió muy bien mis problemas, porque él mismo los ha sufrido. Algo que aprecié mucho, comparado con las sesiones de fisio, fue la atención personal. Le comenté lo que había, estudió mi caso y me aseguró que se podría resolver, que no había nada grave. Soy de naturaleza escéptica y no creí que todas las molestias fueran a desaparecer. Venía sufriendo las limitaciones de movilidad muchos años y yo estaba convencido de que buena parte de ellos eran ya irreversibles. Pero estaba equivocado.

Todo está conectado

Hay algo que casi ningún otro entrenador personal puede hacer y es hablar en mi propio idioma: Juanje es un pionero de Linux y DevOps en España. Y decidió cambiar su horizonte profesional para ganar calidad de vida. Estudió Educación Física, es un ratón de biblioteca y acude a bibliografía científica. Las sesiones con él son ejercicios físicos y mentales. Además de los ejercicios, me explica qué hacemos con lenguaje de ingeniero: por qué y para qué.

Algo que he aprendido con Juanje estos meses es que el cuerpo es un sistema complejo que la evolución ha optimizado para los movimientos. Si lo dejamos de ejercitar, el sistema se atrofia. El estar sentado en la misma postura durante todos estos años acortó los músculos de mis piernas, agarrotó la musculatura de mi espalda, encorvó mis hombros, debilitó los músculos de las lumbares... Y la suma de estos problemas explica mi cuadro de dolencias. Así que primera conclusión: he comprendido qué hacía mal: ser sedentario, estar quieto.

Otra cosa que he aprendido es que toda la musculatura está conectada: pies, piernas, espalda, hombros, cabeza, brazos. No valía con trabajar la zona lumbar para hacer desaparecer las dolencias de la espalda. El objetivo ha sido deshacer los bloques monolíticos musculares y que vuelvan a trabajar de forma independiente. Los ejercicios que realizo con Juanje no son de correr, saltar o hacer pesas. Trabajamos para ganar movilidad y fuerza, y entrenar el sistema nervioso. Para mantener el cerebro alerta, los ejercicios cambian periódicamente. Y los ejercicios los realizo al aire libre y descalzo, cerca de la playa.

Otra de las lecciones importantes de Juanje es que el cuerpo responde al ejercicio continuado. Realizando simples movimientos de brazos y piernas, pero día tras día, puedo mantenerme en forma y evitar las atrofias. Diez minutos suaves diarios pueden ser mejor que un gran esfuerzo de una hora semanal. Y digo que es lo que he aprendido, porque me está costando mucho incorporar estos hábitos en mis rutinas diarias.

 

En estos vídeos hay ejemplos del tipo de ejercicios que realizo, tanto en las sesiones como en casa. Son fáciles de aprender y de realizar.

Una nueva vida

La remisión de mis dolencias de espalda las sentí en las primeras semanas. La pierna derecha dejó de dormirse. Al mes y medio, el dolor principal de lumbares que sentía se había atenuado mucho. A los cuatro meses, había ganado bastante movilidad en la espalda y sólo me quedaba un dolor muy puntual en las lumbares. A los seis meses, había recuperado mucha movilidad en la cabeza, hombros y espalda: ya no me molestaba mirar hacia abajo para estar con el portátil o leyendo. A los nueve meses, todas las dolencias que sufría han desaparecido y me siento mucho más ágil.

La desaparición de los dolores y el ejercicio ha cambiado mi carácter. Me siento con más «energía» y llevo mucho mejor las situaciones estresantes. En general, me noto mucho más contento, lo cual es normal porque hacer ejercicio libera endorfinas.

Así que, un año que comenzaba con perspectivas sombrías lo he finalizado contento por haber recuperado más de diez años perdidos de salud. En mi caso el responsable de ello es Juanje Ojeda, a quien tengo que agradecer su profesionalidad y buen hacer. Si tienes un trabajo de oficina y eres sedentario como lo era yo, por favor, tómatelo con seriedad. Juanje tiene un montón de consejos contra el sedentarismo en su blog y, obviamente, no puedo más que recomendarlos. Me siento en deuda con él y quería que esta entrada sirva tanto de aviso a navegantes como de agradecimiento personal.


Conexión serie Bluetooth con Processing en Ubuntu

Estas semanas, en el taller semanal de Arduino Gran Canaria, estamos montando un cochecito robótico con Arduino. Después de resolver el montaje del puente H y los motores, le hemos añadido el componente Bluetooth HC-06. De esta forma, podremos controlar remotamente el Arduino a través de un dispositivo Bluetooth.

Para facilitar la tarea, en Android existe una aplicación llamada Arduino Bluetooth RC Car. La aplicación se conecta mediante el Bluetooth HC-06 a Arduino y le envía diferentes caracteres según el botón que se pulse: adelante, atrás, izquierda, derecha, parar, etc. Por desgracia, aún no hay una aplicación similar para Ubuntu Touch, así que tuve que pedir prestado un móvil con Android.

Para ocasiones posteriores, he visto que mi portátil sí tiene Bluetooth. Así que lo más socorrido para mi es programar una aplicación de control remoto similar, pero usando el entorno de programación Processing. Así que detallo los pasos para realizar una conexión serie entre el Bluetooth HC-06 y Processing en Ubuntu.

Instalación de Bluetooth Manager.

El primer paso es instalar la aplicación Bluetooth Manager. Para ello, desde consola ejecutamos:

$ sudo apt-get install blueman

Emparejar el dispositivo Bluetooth HC-06.

El segundo paso es emparejar el ordenador con el Bluetooth HC-06. Para ello, abrimos la aplicación Bluetooth Manager y realizamos una búsqueda de los dispositivos Bluetooth visibles. De fábrica el HC-06 viene con el identificador «HC-06», aunque en mi caso lo configuré para ponerle el nombre «McLaren-rvr».

Screenshot from 2016-05-04 01-10-34

Para emparejar el dispositivo, hacemos clic con el botón derecho del ratón sobre el dispositivo y seleccionamos la opción Pairing.

Screenshot from 2016-05-04 01-11-07

Para finalizar el emparejamiento, deberemos introducir la contraseña del dispositivo HC-06. Por defecto es «1234».

Conexión serie

En tercer lugar debemos activar la conexión serie del dispositivo HC-06 en Ubuntu. Para ello, volvemos a abrir el menú contextual y seleccionamos la opción «Conectar a: Puerto serie» (Serial Port).

Screenshot from 2016-05-04 01-12-30

Bluetooth Manager nos indicará en una barra de estado el nombre del puerto serie creado en el sistema de ficheros, con el formato /dev/rfcomm<número>.

Screenshot from 2016-05-04 01-13-01En este caso, sería /dev/rfcomm3.

Conexión serie en Processing.

Llegados a este paso ya tenemos un dispositivo serie como cualquier otro. Por tanto, podemos utilizar la librería Serial de Processing para conectar vía Bluetooth con Arduino. La única diferencia con una conexión de Processing con Arduino habitual es que en lugar de enviar los datos por una conexión USB lo haremos mediante una conexión Bluetooth. Pero, gracias a Bluetooth Manager, esos detalles son irrelevantes para Processing. Lo único que cambia es el nombre del dispositivo.

Screenshot from 2016-05-04 01-49-19

En este caso el programa lo que hace es interceptar las pulsaciones de teclas del ordenador y enviarlas al dispositivo Bluetooth (en mi caso, el HC-06 que a su vez se lo reenvía a Arduino). Un ejemplo bastante sencillo si ya has programado Processing con dispositivos Serial anteriormente. 

Para emular de forma tonta la aplicación Arduino Bluetooth RC Car tan solo hay que presionar las teclas 'F' (adelante), 'B' (atrás), 'L' (izquierda), 'R' (derecha) y 'S' (detener).

Queda pendiente la programación del interfaz con esos botones en Processing para que funcione a golpe de ratón. ¡Eso es to-to-todo, amigos!


Visualino: Programación visual para Arduino

Con motivo de la celebración del 10º aniversario de Arduino, y del Día de Arduino, presenté en mi blog en inglés Visualino. ¿Que qué es eso? Se trata de una herramienta de programación visual para Arduino, un proyecto que comencé el año pasado y que ha tenido un impulso estos últimos meses, con la ayuda de los colegas de Arduino Gran Canaria.

Para quien no lo conozca, Arduino es un familia de placas con microcontrolador que permiten interactuar con infinidad de sensores y componentes electrónicos. Las placas vienen acompañada de un programa llamado el IDE de Arduino, que hecho sencilla la programación de los microcontroladores. El lenguaje está basado en C/C++ y las funciones son relativamente simples de aprender. Esta facilidad es parte de la revolución. Encender y apagar LEDs y mover robots ahora es bastante simple con Arduino. ¡Pero podría ser aún más fácil! Un pequeño problema al que se suelen enfrentar niños y adultos sin conocimientos previos de programación es que la sintaxis de C/C++ es muy estricta: las llaves y los puntos y comas tienen que estar en su sitio o el programa no funciona. ¿Cómo hacerlo aún más intuitivo? ¡La programación visual al rescate!

Scratch es una plataforma de programación visual para niños muy popular, desarrollada por el MIT. En lugar de teclados y código, los niños utilizan el ratón y bloques para crear los programas como si fueran puzzles. Existe una extensión llamada Scratch for Arduino que permite controlar la placa. Sin embargo, el programa se ejecuta en Scratch, así que la placa de Arduino debe permanecer siempre conectada al PC.

Así que, ¿qué hace Visualino? Pues es un entorno similar a Scratch: permite crear programas para Arduino como un puzzle. Pero además, permite programar directamente la placa de Arduino y por tanto, hace innecesaria la conexión permanente al PC. Además, los bloques generan el código de C/C++ en tiempo real en una ventana. El entorno es similar al del IDE de Arduino, con las mismas opciones principales: Verificar, Subir, Guardar, Cargar y Monitor. Puedes ver cómo se usa Visualino en este vídeo:

Visualino está basado en Google Blockly y en los bitbloqs de bq. Es software libre, multiplatforma y multi-idioma. Requiere la versión 1.6 del IDE de Arduino 1.6, que es el motor que se usa para programar las placas. Puedes descargar la versión beta de Visualino para Ubuntu, Mac y Windows. La documentación con instrucciones de instalación está disponible en español e inglés. El código anda en github.com/vrruiz/visualino. Jordi Binefa contribuyó con la traducción al catalán, y serán bienvenidas las contribuciones para el italiano y portugués. 

  • Screenshot from 2015-03-25 15:27:30
  • Screenshot from 2015-03-25 15:28:04
Screenshot from 2015-03-25 15:28:04

Hoy mismo me toca realizar una tutoría de Visualino para profesores de secundaria, así que espero que pronto se esté usando en las aulas aquí en casa.

Vete, descárgalo y úsalo. Comentarios y sugerencias bienvenidas. Para estar en contacto, síguenos en twitter.com/visual_ino.


Blogs & Gofio XXXIX

20141125blogs-gofio39

Actualización, 20 ene 2015: La convocatoria final es para el viernes 23 de enero de 2015 a las 21:00 en el CC Las Terrazas, en la cafetería «Qué guay».

Actualización, 28 nov 2014: Por fenómenos meteorológicos adversos, posponemos la convocatoria para próximas fechas (tentativa: 23 de enero de 2014).

¿Te pensabas que los blogs estaban muertos? ¡Jajajaja! [Risa malvada con efecto eco] Tras un par de años de ausencia, se convoca un nuevo Blogs & Gofio. Blogueros, tuiteros, y usuarios de internet de todo tipo están invitados a la reunión informal que celebraremos el próximo viernes 28 de noviembre de 2014 en Las Palmas de Gran Canaria. El lugar será el habitual en las últimas convocatorias en la isla redonda, el restaurante La Barbería de Vegueta y la hora, las 21:00. Como habrá que hacer reserva, por favor, confirma tu asistencia escribiendo un comentario en esta entrada (o en Facebook) a más tardar el viernes a las 12:00.

Reusando las preguntas y respuestas habituales de nuestros compañeros chicharreros:

  • ¿Quién puede asistir? -> Cualquiera, tanto si escribes blogs, como si los lees, incluso si no sabes lo que es un blog y quieres pasar un buen rato.
  • ¿Qué es un Blog & Gofio? -> Una reunión de gente relacionada con los blogs (o no) que se reúne de vez en cuando para verse las caras y echarse unas risas.
  • ¿Eso es un rollo de frikis? -> No, la gente que asiste es totalmente normal, o al menos eso cree.
  • Quiero ir, pero me da rollo porque no conozco a nadie -> No pasa nada, la curva de progreso en la amistad durante los blogs & gofio es, sin exagerar, un millón de veces mayor que en otros ámbitos.

¡Nos vemos el viernes!

PD: Para el cartel se ha usado la imagen Zomby Army, de Vermyn-N (Creative Commons, Atribución).


La vida de los enlaces (II)

Fernando Tricas escribe en La naturaleza efímera de los enlaces:

«En el pasado le dábamos mucho valor a los enlaces. No es que no lo tengan, ni que hayamos perdido la fe. Pero lo cierto es que vemos con mucha frecuencia sitios que desaparecen o se reorganizan sin mirar hacia atrás. Es un tema que hemos tratado algunas veces ya, pero hace una temporada lei este artículo que traigo hoy aquí y que nos lo recuerda: Testing 3 million hyperlinks, lessons learned»

Hace un par de años realicé el experimento de comprobar el porcentaje de enlaces rotos con los marcadores que he guardado en delicious desde 2005. Los resultados los comenté en la entrada La vida de los enlaces. Desde 2012 (año en curso) a 2005, el porcentaje de enlaces rotos crece a un ritmo del 3,8% por año. Así, en 7 años se situaba en el 26%.

He vuelto a realizar el experimento con el mismo código que dejé en github en su momento. He de matizar que mi uso de delicious desde 2012 ha sufrido un bajón apreciable y las muestras de años recientes no es significativa (70 enlaces en 2013 y 38 en 2014). Nada que ver con los 3 millones de enlaces que cita Fernando. Aún así los resultados son los siguientes: 

  • 20140615links-delicious-rate
  • 20140615links-delicious-trend
20140615links-delicious-trend

En esta ocasión, el incremento del porcentaje de enlaces rotos es algo menor que en 2012, pero muy similar: 3,6% por año. De 2014 a 2007 (7 años), también es el 26% el porcentaje de hiperenlaces que ya no existe.

Lo interesante sería comprobarlo con un conjunto mayor de enlaces. Por desgracia, el experimento de los 3 millones de enlaces de StackOverflow no es muy concreto a este respecto. La cifra se da de pasada en el artículo: «The reality though is that over 3 years probably 5% of the links you have are going to simply stop working». En mi caso, en tres años la cifra de enlaces rotos se acerca más al 10%.

Los datos en bruto se pueden consultar en la hoja de cálculo de Google Drive. Si alguien se anima, el código está disponible en github.com/vrruiz/delicious-death-links.


Móviles y software libre: El sistema del mundo

Hace unas semanas me pidieron un artículo sobre el impacto del software libre en la historia de los móviles. En general, me suele resultar sencillo plantear un artículo: hago una lista ordenada de puntos a tratar con un nexo común y los voy desarrollando. Pero ésta petición en particular me dió quebraderos de cabeza. No encontraba un hilo conductor que uniera de forma convincente todos los puntos que quería desarrollar. Al final, buena parte se quedó fuera. Por ejemplo, uno de los titulares que barajé fue «Por qué los móviles no son PCs», pensando en establecer paralelismos entre la popularidad de los sistemas y su apertura.

El resultado final puede leerse en el blog de Mobile World Capital: Móviles y software libre: Cómo Bell Labs (AT&T) creó el sistema del mundo:

«Hoy en día Apple y Google dominan el mercado de sistemas operativos de telefonía móvil. En muy pocos años, estas empresas informáticas han conquistado posiciones privilegiadas, eclipsando la influencia de los fabricantes de terminales. Motorola Mobility ha acabado en manos de Google. Pero, ironías del destino, la industria informática le debe mucho a la de telefonía. Sin proponérselo, AT&T creó el sistema operativo que domina el mundo, desde móviles a superordenadores; el lenguaje de programación que ha sido referencia durante 40 años; y de paso, plantaron el germen del software libre».

El artículo es un homenaje a la enorme influencia del trabajo de Ken Thompson y otros ingenieros de Bell Labs, sin los cuales sería imposible entender la informática de hoy en día. El sistema que idearon no conquistó el escritorio pero reina, entre otros, en el mercado de móviles inteligentes.

Gracias a Jaime Novoa por su paciencia, y a Bárbara, Fernando y Pedro por sus aportaciones.


¿Mitos sobre la cibervigilancia?

Hoy Enrique Dans escribe un artículo titulado Aclarando dos mitos sobre la cibervigilancia. Estos dos mitos se resumen en:

«Hay dos verdades que se han instalado de manera persistente en el imaginario colectivo: la primera, que la principal amenaza a la privacidad de los usuarios proviene de la NSA. Y la segunda, que el problema es que el gobierno norteamericano abusa de la Patriot Act y permite una serie de prácticas que resultarían imposibles en otros países».

A continuación, trata de desmontar estos "mitos". Por un lado, indica que «la principal amenaza a la privacidad y el mayor volumen de datos recolectados sobre nuestras actividades en la red no corresponde a la NSA, sino a compañías privadas». Por lo tanto, habría que presionar a las empresas que recolectan datos para imponer estándares más estrictos de protección de datos. La cuestión es que la NSA, a través del programa PRISM, tiene acceso directo a los datos de (entre otros) Facebook, Google, Yahoo, Microsoft y también registros de compañías telefónicas. Si a esto le añadimos los proyectos de interceptación de tráfico de Internet, la evidencia indica que la NSA dispone de un conjunto agregado de datos. La suma tiene que ser, por fuerza, mayor que las partes.

En segundo lugar, Enrique dice que «Países como Suiza, o como una Alemania que habitualmente se considera extrema en las medidas de protección de la privacidad, no permiten a las compañías ningún tipo de defensa ante un requerimiento gubernamental». La afirmación, tal cual, es falsa tal como se explica en el propio enlace. La queja es que algunos países europeos no permiten apelar antes de cumplir con la orden, mientras que en EEUU, se puede apelar antes de cumplirla.

Pero el contexto es completamente diferente. En la Unión Europea, existe una directiva de protección de datos, inexistente en EEUU. La vigilancia es un tema muy sensible para los alemanes, que vivieron bajo la opresión de la Stasi. Aquí mismo, la Constitución Española en su artículo 18 define la privacidad de las comunicaciones como un derecho fundamental: «Se garantiza el secreto de las comunicaciones y, en especial, de las postales, telegráficas y telefónicas, salvo resolución judicial». No veo cómo Europa podría estar a la altura de la NSA, aún proponiéndoselo, porque es EEUU quien alberga los principales servicios y empresas de Internet, y por donde pasa buena parte del tráfico mundial. El único país europeo con el que realmente tenemos un problema es el Reino Unido. Las prácticas del GCHQ no tienen nada que enviar a la NSA: de hecho, colaboran estrechamente (UKUSA).

¿Cuál es la situación al otro lado del Atlántico? Pues que existen leyes y tribunales secretos en EEUU. El tribunal FISA (Foreign Intelligence Surveillance Court, Tribunal de Vigilancia Extranjera) es el encargado de revisar las órdenes de vigilancia. Las evidencias indican que este tribunal es un mero trámite burocrático: en 30 años sólo se han rechazado 11 de 34 mil peticiones y sólo ha habido una caso de apelación. Sugiere Enrique que en el escándalo de la NSA tiene algo que ver con los atentados del 11 de septiembre y el Patriot Act: lo dudo mucho. FISA fue un tribunal puesto en marcha en los años 70 después de que el escándalo del Watergate pusiera de manifiesto los abusos de los servicios de inteligencia. Recordemos que el fundador del FBI, Edgard Hoovert, ya coleccionaba su particular "big data" (COINTELPRO) sobre todo individuo subversivo digno de su atención.

En lo que sí estoy de acuerdo con Enrique es que las empresas son parte del problema, pero por razones diferentes. La NSA tiene muchas subcontratas, y el propio Edward Snowden trabajaba para una de ellas (Booz Allen Hamilton). Puesto que las leyes de espionaje sólo protegen a los estadounidenses, es evidente que estas subcontratas estarán muy tentadas de compartir información privilegiada con otras empresas (por ejemplo, de su mismo holding). Por otra parte, si no existe supervisión efectiva de la NSA es, simplemente, porque no hay motivación política. Y volvemos al mismo punto: en EEUU interés político es sinónimo de apoyo económico para las campañas electorales. No sé si me explico (en Brasil sí lo han entendido).

En definitiva, Enrique, no comparto tu optimismo por la cobertura legal estadounidense. De la pena de muerte, a los drones, pasando por Guantánamo, Irak y Chile, el respeto de EEUU por los derechos humanos es más que dudosa. China o Arabia Saudí no son democracias; EEUU, sí, y presume de ser la mejor. En la Unión Europea tenemos muchos trapos sucios que lavar, pero puestos a comparar, en este sentido, me quedo en casa.


¿Quién vigila a los vigilantes?

El pasado viernes ofrecí en Naukas 13 (Bilbao) una conferencia titulada «¿Quién vigila a los vigilantes? Privacidad en la Era de Internet». En ella trataba de resumir lo que conocemos hasta ahora de los programas de espionaje de Internet realizados por la NSA y desvelados por Edward Snowden. El texto que acompaña a las diapositivas es el siguiente.

Un año más estamos aquí para compatir una pasión. Nos une la ciencia. Pero también nos une Internet. Sin Internet, ni Naukas ni este evento serían posible. Internet permite a Naukas trascender y tener un impacto directo en la sociedad. En eso, no estamos solos. Personas de todo el mundo se organizan a través de Internet para crear una sociedad mejor.

Seguramente todos han identificado las máscaras popularizadas por V de Vendetta.  Del mismo autor, Alan Moore, es otra obra reconocida: Watchmen. Watchmen es una visión cínica de los superhéroes. Los “héroes” de Watchmen comienzan con buenas intenciones, pero terminan abusando de su poder. Y la sociedad recela de ellos. La acción transcurre en un 1985 alternativo, donde Nixon aún es presidente, y la guerra nuclear con la URSS es inminente.

Internet se diseñó para resistir ataques nucleares, utilizando redes distribuidas de ordenadores. Sin embargo, en los últimos años vivimos una recentralización de servicios. Nos hemos convertido en siervos digitales. A cambio de nuestros datos, libertad para instalar programas y nuestra privacidad, las grandes empresas nos han prometido proteger nuestra privacidad y seguridad digital. Pero, ¿son estos castillos realmente inexpugnables? ¿A quiénes rinden pleitesía estos caballeros?

Éste es Edward Snowden, trabajó para la CIA y la NSA. Entregó a los medios miles de documentos secretos para denunciar el espionaje masivo de Internet. La Agencia de Seguridad Nacional (NSA) ha desarrollado infinidad de métodos para saltarse la seguridad de Internet, a todos los niveles, con el amparo de leyes y tribunales secretos. Entre ellos:

  • Registro de las llamadas telefónicas en EEUU.
  • Acceso directo a Google, Apple, Microsoft, Facebook...
  • Puertas traseras en algoritmos de crifrado.
  • Interceptación de comunicaciones (cables submarinos).
  • Certificados digitales raíces comprometidos.
  • Creación y explotación de vulnerabilidades.

En resumen. Internet está roto. La NSA tiene acceso a la vida de miles de millones de ciudadanos de todo el mundo. La privacidad es una ilusión. Ni el presidente, ni los jueces, ni los congresistas realizan una supervisión efectiva de las actividades de la NSA. No hay equilibrio de poderes.

Podría acabar la charla aquí, pero quiero llamar la atención sobre un hecho relevante. Las actividades de la NSA no son ajenas a la ciencia. La NSA emplea a la mayor comunidad de matemáticos de los EEUU y probablemente del mundo. Existe un lado oscuro de la ciencia que pone en riesgo el futuro de nuestra sociedad. No es lo mismo estudiar galaxias que desarrollar drones. Debemos dejar claro que la pasión por la ciencia que promovemos es para avanzar la frontera del conocimiento para servicio de toda la humanidad, y no para destruirnos.

Volviendo a la NSA. Como Neo, tenemos dos posibilidades. Tomar la pastilla rojo y ser consecuentes con los hechos denunciados por Snowden, a nivel invidual o de la sociedad, o ignorar estos hechos y continuar como si no ocurriera nada. Ustedes deciden qué hacer. Gracias.


Ubuntu WebApps: Fusión de web y escritorio

Dentro de unos días se cumple seis meses desde que llegué a Canonical, la empresa detrás de la popular distribución de Linux Ubuntu. Ha sido un semestre intenso, trabajando sin parar, preparándonos para el día de hoy. A finales del año pasado, Álvaro López me dio un esbozo del proyecto que iba a desarrollar y no dudé en querer formar parte de su equipo. Hoy ese proyecto ha visto la luz.

Desde 2003, las aplicaciones web han comenzado a competir en funcionalidad con las aplicaciones nativas. Gmail y Google Maps fueron dos de los primeros sitios en demostrar que HTML y JavaScript podían replicar una rica experiencia de usuario. Desde entonces vivimos un círculo virtuoso en que las aplicaciones web empujan el desarrollo de tecnologías web y viceversa. HTML5 o WebGL son algunas de las tecnologías que forman parte indiscutible del presente del desarrollo web, cuyos horizontes abarcan ya desde los juegos a las suite ofimáticas, pasando por el retoque fotográfico. Las tecnologías web ya son claves en todos los sistemas operativos y en todos los dispositivos. Así pues, ¿qué futuro le espera al escritorio en este mundo HTML-céntrico?

Pues de eso, justamente, habló hoy Mark Shuttleworth, creador de Ubuntu. En su presentación de OSCON, Mark presentó su visión del futuro de los escritorios y las aplicaciones web (vídeo): «Queremos que las aplicaciones web sean ciudadanos de primera clase en el escritorio. Por un lado tenemos el escritorio, que nos permite trabajar de una forma más productiva que estando limitados al navegador. Queremos fusionar el web y el escritorio y crear un fantástico ambiente [de trabajo]». ¿Y en qué se ha traducido esa visión? Pues en Ubuntu Web Apps.

En el vídeo que tienes abajo puedes ver una demostración de cómo diferentes sitios web se integran en el escritorio de Ubuntu.

Algunas comentarios sobre los ejemplos:

  • Last.fm se inicia desde Dash (el menú principal), como si fuera una aplicación nativa pero se en una ventana del navegador. Además, posee su propio icono en el Lanzador y puedes ir directamente a la ventana del sitio web usando Alt+Tab. Y en el menú de sonido, podemos ver cómo el sitio web muestra los controles para pausar y saltar a las canciones anteriores o posteriores.
  • Lo mismo con Gmail: se puede abrir desde Dash o desde el icono del Lanzador (o barra de tareas, si eres usuario de otros escritorios). Una vez en nuestra sesión de Gmail, podemos acceder a los menús utilizando el HUD (presionando la tecla Super -aka tecla de Windows o de manzana). Es más: en el menú de mensajes, podemos ver los mensajes pendientes de leer en las carpetas de Gmail.
  • Ubuntu WebApps da la opción de capturar las credenciales al iniciar la sesión en determinados sitios web. Estas credenciales se guardan de forma segura y pueden ser utilizadas por aplicaciones de escritorio autorizadas. Por ejemplo, si hemos guardado los datos de nuestra cuenta de Google, la aplicación de fotos Shotwell podrá publicar en Google Plus sin preguntar de nuevo. O al iniciar una sesión con el navegador en Twitter, podemos guardar los datos, que así estarán disponibles para Gwibber (un cliente de escritorio para redes sociales).

¿A que mola? :) En general, las reacciones han sido bastante positivas (OMG Ubuntu, TechCrunch, Engadget, Hacker News, ZDNet, Slashdot).

De momento hemos preparado la integración de una treintena de sitios web. Y como además todo el proyecto es software libre y lo acabamos de liberar, ya puedes probarlo y enviar tus informes de fallos y parches. La versión definitiva llegará próximamente a Ubuntu 12.10, pero ahora debes usar un PPA (un repositorio personal) con las versión de desarrollo.

Para instalar Ubuntu WebApps necesitas Ubuntu 12.04 (Precise) o 12.10 (Quantal) e iniciar una sesión en Unity. Abre una ventana de Terminal y ejecuta los siguientes comandos:

$ sudo add-apt-repository ppa:webapps/preview

$ sudo apt-get update

$ sudo apt-get install unity-webapps-preview

A continuación, abre Firefox o Chromium y visita Gmail, Google Docs, Twitter, Facebook o YouTube. En cada uno de estos sitios se abrirá un cuadro de diálogo para preguntarte si quieres integrar el sitio con el escritorio. Responde afirmativamente, y voilà. Todavía quedan algunos elementos por pulir, así que si encuentras algún error reproducible, por favor, informa de él en Launchpad.

Aprovecho felicitar a mis compañeros de equipo por el esfuerzo que han realizado estos meses: Robert Carr, Maxim Ermilov, Alexandre Abreu, Ken VanDine, Alex Launi, Christian Giordano y Stewart Wilson... pero en especial a Álvaro López, líder del proyecto y co-responsable, junto a mi hermano, de que hoy esté en Canonical. Es un placer trabajar con todos ustedes en esta empresa.