La estafa de los auriculares Bluetooth

Llevo unas 2 semanas peleándome con auriculares Bluetooth y al final he llegado a la conclusión de que esta tecnología sencillamente no está lista para un uso intensivo. Tiene la ventaja de no usar cables, pero las desventajas son bastantes. Os cuento mi experiencia y mis conclusiones.

Mi experiencia

Se me rompieron mis auriculares cableados con micrófono y necesitaba unos nuevos. Mis requisitos eran fáciles:

  • Que funcionaran en Linux.
  • Que tuviera micrófono, para las videoconferencias.
  • Que se escucharan bien (soy algo melómano).
  • Poder usarlos para videojuegos.
  • Que pudiera usarlos para hacer deporte (ya tengo unos, pero sin cables es mejor).

Bluetooth en Linux

Ya había usado Bluetooth antes en Linux para conectar el teléfono y tableta al ordenador, y todo había sido coser y cantar desde el panel de control de GNOME. Con los auriculares… casi.

Me topé con unos cuantos bugs, el último de ellos que impedía activar el modo HSP/HFP (ver abajo) con BlueZ 5.36. Tuve que desactualizarlo a la 5.35 y ya “todo” funcionó:

# dnf downgrade bluez --allowerasing

¿Micrófono, o buena calidad?

Cuando por fin pude activar el micrófono, me di cuenta de que la calidad de sonido es malísima. No me malinterpretéis, no es que no se entienda, pero baja muchísimo.

Claro podía elegir entre el modo A2DP y el HSP/HPF. ¿Y esto qué es?

Los perfiles de Bluetooth

El estándar Bluetooth define una serie de perfiles, que son los modos de operación de los dispositivos. En el caso del audio, tenemos 3 modos:

  • A2DP: audio de alta calidad, pero es sólo unidireccional. Por lo tanto, nada de micrófonos aquí. Los botones sirven para controlar la reproducción (retroceder, avanzar, pausa, volumen…).
  • HSP: audio de baja calidad, en mono (o falso estéreo), pero bidireccional. Los botones hacen como en A2DP.
  • HFP: como HSP, pero los botones controlan la llamada (colgar, descolgar…).

Dicho en otras palabras: si quieres hablar por el micrófono, no puedes oír en alta calidad. Y esto es una limitación del protocolo, no de los auriculares que compres, así que te pasará con cualquier modelo.

Bueno, esto más o menos era fácil de arreglar: entras al panel de configuración y cambias el perfil al hacer una llamada, pero sigamos.

En videojuegos

Bueno, para jugar lo colocamos en A2DP y listo, a oír bien… ¡Pues no!

En los videojuegos, lo que más puede molestar es la latencia. No puedes permitirte el lujo de oír algo 1 segundo después de que haya sucedido. Aparte de ser molesto, puede hacerte perder la partida.

Pues más o menos esa es la latencia que tiene el audio por Bluetooth.

Haciendo deporte

Una cosa curiosa de estos aparatos es la cantidad de interferencias que reciben. En serio, esto ha sido lo más decepcionante de todo.

Si estás en casa, todo va perfectamente. Puedes moverte en un radio de unos 10 metros sin problemas, siempre que no haya obstáculos entre el emisor y el receptor. Si los hay, se reduce, pero todo funciona.

Sin embargo, cuando sales a correr o en bicicleta, ¡el alcance se reduce a nada menos que 20-40cm! O sea que para oír bien la música tienes que sujetarlo en la mano. Tan solo con estirar el brazo hacia abajo lo suficiente, dejas de oír bien. Y claro, en el deporte te mueves constantemente, no puedes permitirte eso.

Es posible que esto me haya pasado por no haber comprado unos muy buenos, pero ya eran de unos 25€, que ya es bastante…

Conclusión

Resumiendo:

  • Para conectarlos con Linux, tendrás problemas en las versiones más recientes de BlueZ (esperamos que lo corrijan).
  • Para hablar por el micrófono, debes escuchar con baja calidad.
  • Para jugar videojuegos, la latencia no te dejará usarlos.
  • Para hacer deportes, las interferencias tampoco.

Ergo el veredicto es que los auriculares Bluetooth no sirven para nada.

¿Realmente hace falta la cabecera de la licencia en cada fichero de código fuente?

Antes que nada, IANAL. Prosigamos.

Las instrucciones para usar una licencia GPL te dicen que debes incluir un comentario gigante como cabecera de cada fichero de tu código fuente, tal que así:

This file is part of Foobar.

<one line to give the program’s name and a brief idea of what it does.>

Copyright (C) <year> <name of author>

Foobar is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Foobar is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Foobar. If not, see <http://www.gnu.org/licenses/&gt;.

Lo cual es horrible, porque aparte de molestar un montón para leer un fichero (hay algunos cuyo código fuente es inferior a la propia cabecera), encima tienes que incluir el nombre del programa, con lo que si le cambias el nombre más adelante, o si cambias la licencia, tienes que hacer un trabajo de chinos para reemplazar todo.

Continúa leyendo ¿Realmente hace falta la cabecera de la licencia en cada fichero de código fuente?

Por fin privacidad y seguridad en Internet: CloudFleet

Muchos intentos se han hecho para proporcionar una alternativa sencilla y segura a los servicios de nube ávidos de datos, como Google, Microsoft, Facebook, Yahoo, etc.

Por mencionar algunos muy interesantes, están Yunohost, ArkOS, Cozy y Sandstorm.

Ayer descubrí uno que me sorprendió porque realmente está muy bien construido: CloudFleet.

Consta de un sistema base que administra contenedores Docker en los que se encuentran las aplicaciones de servidor.

Continúa leyendo Por fin privacidad y seguridad en Internet: CloudFleet

Transferir código entre repositorios, con archivos renombrados

Recientemente tuve que hacer una transferencia de código fuente algo complicada. Tenía que transferir un addon de Odoo desde un repositorio a otro completamente diferente:

Veamos cómo se puede hacer con Git y con Mercurial.

Continúa leyendo Transferir código entre repositorios, con archivos renombrados

Convierte tu tableta Android en un puesto de trabajo

Si trabajas como hacker, programador y/o administrador de sistemas, agradecerás tener a mano en tu tableta un kit básico con las 4 herramientas clave que uses a diario, que además son libres:

Continúa leyendo Convierte tu tableta Android en un puesto de trabajo