entramado.net

Maxiposts

Configurabilidad y Política

guillotina papelLa política es como los culos, cada cual tiene el suyo. Por eso precisamente estoy en contra de los partidismos, no creo que se pueda condensar en un partido político toda la opinión política de una persona, en cuanto generalizas pierdes los matices. Pero volvamos al tema del post, la siguiente reflexión me ha venido a la cabeza a partir de el post de Clamav de Fanta. Cuando realizamos cualquier pieza de software tomamos una serie de decisiones por diseño, arbitrarias, porque nos dan la gana, que posiblemente no sean las mismas que haría otra persona. Cuando hacemos esto, estamos implementando política dentro de nuestro software, estamos haciendo un software político en lugar de uno apolítico.

Para esto precisamente apareció la configurabilidad en el software, dejar al administrador del sistema la posibilidad de establecer la política que él desee en cada momento. Incluso correr múltiples instancias del mismo software con distintas políticas o cualquier experimento que se desee.

  • La libertad de ejecutar el programa como se desee, con cualquier propósito (libertad 0).
  • […]

Las 4 libertades esenciales del software libre.

El usuario como marca la primera libertad del software libre va a ejecutar ese software como desee, o si lo desea no lo ejecutará. Todo software por muy configurable que sea implica algún tipo de política y ética que vas a asumir haciendo correr ese software. Gastar software libre se alinea con una política muy distinta a la de gastar software propietario, puedes ser consciente de ello o no, puede que te importe o no si eres apolítico en esta cuestión, pero de una forma u otra estás participando de una u otra política al igual que cuando votas o dejas de votar a un cierto partido, comes en un Burger King o en el bar de tu barrio, es política de consumo, posiblemente la política que menos efecto tenga, pero no quita para que continúe estando ahí.

Pero una vez decidido a utilizar un software qué mejor que amoldarlo a tus necesidades en todo lo posible, sí, a tu política. Esto es lo que hacen las distribuciones Linux, aplicar una política al software, configurarlo para homogeneizarlo a una serie de políticas preestablecidas. ¡Si una distro es una especie de partido político del software!

Por lo tanto cuanto más configurable sea tu software a más políticas distintas se podrá aplicar, más apolítico será. Recuerda que un software sólo es una herramienta, al igual que, por ejemplo, lo es la guillotina que encabeza el post (y también otras), su carácter político se lo da el uso que le demos a esa herramienta los usuarios.


Mi cocina en 2017

Este año he probado un buen número de nuevas recetas de cocina, comparto el listado para todo el que quiera probarlas, como veréis son sobre todo recetas saladas, más tradicionales, menos orientales o mediterráneas, de todo un poco. ¡Buen provecho!


Platón y la programación orientada a objetos

Según las ideas de Yegor Bugayenko, los buenos objetos en programación son una representación de los objetos en la vida real, por ejemplo no tendríamos un objeto Temperatura, si no más bien un objeto Termómetro que podríamos consultar, esta es la conclusión a la que se llega cuando extraes todo el pensamiento procedimental (procedural) de tu programación y te centras en utilizar únicamente objetos. El objeto se convierte en la abstracción en software de la realidad, cuando escribimos software estamos plasmando nuestras idea, nuestros conceptos, en código. Código que se ejecuta en máquinas y a su forma «vive» sobre esta con sus comportamientos y su interacción entre objetos. Estamos creando en este caso un mundo de las ideas sobre silicio, estamos proyectando nuestra mente en software. ¿Pero con qué finalidad? Trasladar esas ideas a otras personas ¿Cuál si no es el objetivo del software? Para ésto, como títeres en la caverna de la máquina, proyectaremos estas ideas sobre la pantalla y el altavoz, esperando que el usuario entienda nuestras ideas o simplemente las utilice en un propio beneficio. Se dice que el código almacena el conocimiento, no solo esto, además lo puede transmitir en sus dos representaciones, en su ejecución sobre una máquina como acabamos de ver y en una más básica, la lectura directa del código.

Y con esto llegamos directamente al lenguaje, porque cualquier lenguaje de programación no es más que otro tipo de lengua como el alemán o el italiano, pero con un vocabulario muy básico, las librerías, frameworks y en general el software orientado a objetos se encargan de alimentar ese vocabulario, creando una correspondencia directa entre palabras, ideas y software. Algo mágico tiene el lenguaje, sin el que el pensamiento conceptual tendría sentido, el ser humano no deja de crear y crear lenguas para comunicarse de distintas formas. Entonces mi duda es, ¿El lenguaje es una representación del mundo de las ideas del que hablaba Platón? ¿O, realmente los lenguajes SON es ese mundo de las ideas?

No veo poca diferencia entre estas dos preguntas, en el segundo caso la inteligencia artificial se podría conseguir aumentando el vocabulario sobre la máquina hasta que acoja el universo entero, en el primero aún deberíamos buscar el origen de todos los lenguajes, remontar el río hasta la fuente de la inteligencia. Otra opción es negar la mayor, porque el platonismo es hegemónico en nuestra civilización, es muy difícil de negar y siempre nos vamos a encontrar con ciertas verdades universales irrebatibles. Pero, ¿a dónde podemos llegar si desmontamos la teoría de una realidad abstracta sobre todos nosotros?


Dub: Los otros hackers de los 70

Los 70 son conocidos por el auge de los primeros hackers, fueron tiempos muy interesantes en Silicon Valley, las primeras computadoras con precios accesibles y tamaños reducidos empezaron a nacer de manos de jóvenes emprendedores con mucha ambición, a veces pocos escrúpulos… Bueno, ¿qué voy a contar yo que no haya contado ya toda la industria del espectáculo estadounidense?

Menos conocido es el caso de otros hackers, que en esos mismo años también empezaron a tener acceso a máquinas con las que realizar cosas nunca vistas, o mejor dicho oídas. En esos años en Jamaica se juntaron todas las condiciones para revolucionar la música, una cultura musical potente, un artista como Bob Marley regalando al mundo un nuevo estilo de música y por último, pero no menos importante, la ausencia de leyes de propiedad intelectual. Porque la técnica la tenían en todo el mundo, pero sólo estas condiciones podían hacer que un fallo en producción que dejara un tema sin voces hiciera saltar la chispa del dub.

Lo siguiente ya vendría rodado, las bases sin voces permitirían la aparición de maestros de ceremonias, el «toasting» al llegar a EEUU se convertiría en rap, en Europa el dub daría paso al Jungle, el drum and bass y se integraría en la cultura rave. Todo esto convergería en el dubstep y se infiltraría en las últimas décadas en la música dance. Difícil es negar la revolución musical que supuso esta música, la que vino a dar la vuelta al sonido, abajo empezó a ser arriba y viceversa. Sin más presentaciones os dejo con el documental que explica todo lo que os he querido transmitir.


Servidor de música casero

Con una Raspberry Pi y unos altavoces de PC nos podemos montar nuestro Jukebox para el siglo XXI y de paso olvidarnos de Spotify y Youtube rescatando nuestra antigua colección de música. La idea es no solo poder reproducir tu colección de música cuando lo desees, si no que en el caso de invitar a los amigos a casa, puedan seleccionar las canciones que quieran poner en cualquier momento, veremos hasta que punto podemos llegar, vamos a ponernos.

Necesitamos

  • Raspberry Pi con Raspbian: No importa el modelo, yo he probado con la 1 y funciona perfectamente. También podéis intentarlo en otras plataformas con cualquier distro basada en Debian.
  • Disco duro USB: Donde almacenar nuestra colección de música. Presupondré que ya tenemos configurado el disco para montarse automáticamente al encender la Raspberry, hay montones de tutoriales sobre como hacerlo.
  • Altavoces: En este caso voy a usar unos sencillos altavoces de PC con entrada mini jack.

Instalación

Añadimos el repositorio

wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
sudo wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/jessie.list
sudo apt-get update

Instalamos mopidy, el servidor de música, con algunas extensiones para que no esté demasiado pelado.
sudo apt install mopidy mopidy-local-sqlite mopidy-tunein mopidy-podcast mopidy-youtube mopidy-internetarchive gstreamer1.0-plugins-bad
Además vamos a instalar una interfaz web muy pulida Spotmop, pero esto ya lo tenemos que instalar mediante el sistema de paquetería de Python, Pip.
sudo apt install python-pip
sudo pip install Mopidy-Spotmop

Configuración

Para correr como servicio mopidy vamos a proceder a reconfigurarlo, para cambiar la opción por defecto:

sudo dpkg-reconfigure mopidy

Y nos preguntará si queremos iniciar en el arranque, le decimos que sí y pasamos a editar la configuración.

sudo nano /etc/mopidy/mopidy.conf

Mi archivo de configuración ha quedado de la siguiente forma:
[core]
cache_dir = /var/cache/mopidy
config_dir = /etc/mopidy
data_dir = /var/lib/mopidy
[logging]
config_file = /etc/mopidy/logging.conf
debug_file = /var/log/mopidy/mopidy-debug.log
[local]
media_dir = /media/hdd/público/litox/files/Música
library = sqlite
scan_flush_threshold = 100
[m3u]
playlists_dir = /var/lib/mopidy/playlists
[mpd]
enabled = true
hostname = ::
port = 6600
password = 9876
max_connections = 20
connection_timeout = 60
zeroconf = Mopidy MPD server on $hostname
command_blacklist = listall,listallinfo
default_playlist_scheme = m3u
[http]
enabled = true
hostname = ::
port = 6680
static_dir =
zeroconf = Mopidy HTTP server on $hostname
[spotmod]
enabled = true
[tunein]
timeout = 5000

Como podéis ver he cambiado el media_dir por mi directorio de música en owncloud, de esta forma lo tengo además todo sincronizado entre dispositivos. Obviamente debemos dar permisos de lectura y escritura al usuario al usuario mopidy en esta carpeta, por ejemplo añadiéndolo al mismo grupo al que pertenece el servidor, en mi caso www-data.

A reproducir

Una vez cargada la música en este directorio y reiniciado vamos a escanear la música que tenemos.

sudo mopidyctl local scan

Y cuando termine vamos a Spotmop para empezar a reproducir música. En el navegador abrimos http://raspberrypi.local:6680/spotmop/ y en el menú local podremos buscar álbum o autor para empezar a reproducir.

Desde cualquier dispositivo Android podremos hacer lo mismo instalándonos la aplicación Mopidy Mobile. No he conseguido que se anuncie el servicio en la red mediante Avahi, por lo que me ha tocado poner la dirección IP a mano con el puerto correspondiente para acceder. Una lástima, porque el objetivo era que cualquiera al que yo diera acceso a mi red, pudiera rápidamente descargar la aplicación y empezar a su alma selecter, espero que se solucione en el futuro este aspecto.

Fuentes:

https://www.inpimation.com/installing-mopidy-raspberry-pi-2/

https://docs.mopidy.com/en/latest/service/

Actualización:

Ahora he empezado a utilizar un cliente para GNU/Linux, Cantata, la configuración es sencilla, como host raspberrypi.local, el puerto MPD que si está por defecto es el 6600 como en el mío y la contraseña que en mi caso es 9876. Y así tendremos algo parecido Spotmop pero en versión nativa.


Los errores de Persona

Llevo tiempo queriendo comentar este artículo de autocrítica sobre Persona, el sistema fallido de identificación Web de Mozilla. Desde un principio tenía mis dudas sobre este sistema, unas dudas en el ámbito más personal que otra cosa, que quisieran suplantar OpenID ya me puso en contra, pero había problemas más importantes que Persona arrastraba, problemas de diseño que han sido los que han terminado con este proyecto definitivamente.

Como bien se explica en el artículo, uno de los problemas más graves fue una centralización implícita de un protocolo, que en un principio estaba pensado para ser distribuido. Para entenderlo tenemos que pensar todo sistema tecnológico como una cadena, unos eslabones engarzan con otros, si queremos que el sistema sea distribuido todos los eslabones de la cadena deben serlo, puesto que con uno solo que permanezca centralizado o incluso descentralizado hará perder esta cualidad a todo el sistema. Podemos ir siguiendo esta cadena hasta el más alto nivel y nos daremos cuenta de que si el software no es libre no es posible crear un sistema distribuido, pero aún más, nos podemos encontrar con sistemas centralizados de facto, debemos empezar a pensar en lo distribuido como una forma de pensar, un estilo de vida incluso, algo que no está en la tecnología, más bien en las personas.


Ubuntu hacia la auténtica convergencia

Ubuntu al fin ha abandonado el desarrollo de su escritorio alternativo con Unity+Mir, para volver a Gnome, esta vez con el muchísimo más moderno gestor gráfico Wayland, quizá es má correcto llamarlo protocolo gráfico. Esto reconcilia a Ubuntu con gran parte de la comunidad, se acaba con una división inútil y confirma la falta de carisma de Canonical para formar una comunidad a su alrededor, cosa que por el contrario sí ha conseguido RedHat, no sin falta de polémica.

Ubunto ha abierto un camino hacia una auténtica convergencia, la de las distribuciones GNU/Linux, quizá solo unidos se le pueda hacer frente al imparable Android, el que creo es el auténtico enemigo del Software Libre. Respecto a la convergencia hacia el móvil veremos nuevas soluciones construidas desde la comunidad, no me cabe duda.

Pero resuelta la parte gráfica en todas las distribuciones mientras tanto se ha abierto un nuevo frente, el auge de las aplicaciones en contenedores ha puesto en evidencia los antiguos gestores de paquetes de las distribuciones, para solucionar este problema se han creado soluciones como Flatpack y Snap, que complementan a los anteriores y nos permiten instalar aplicaciones de terceros de forma segura en nuestros sistemas. Esto puede derivar en la creación de tiendas de aplicaciones para todo el ecosistema GNU/Linux, con este objetivo creó Canonical Snap, paralelamente Flatpack se desarrolló desde Gnome, RedHat y toda la comunidad, mi apuesta en este asunto es una vez más por la solución más abierta, Flatpack, una que no te ata a la tienda de aplicaciones que Canonical decida, pero queda mucho camino por recorrer, veremos como evoluciona este tema.


Settle Up, un bote virtual

Antes que nada tengo que decir que no me llevo comisión por anunciar este software pero que si sus creadores quieren recompensarme… ¡Les paso mi número de cuenta! 😀

La idea es dar una descripción somera de este software que me ha parecido muy útil tanto por sus ideas como por su forma de presentarlas. Además intenta continuar una conversación formada sobre software de contabilidad orientado a comunidades que empezaba aquí.

Settle Up permite, gestionar las cuentas de un grupo sin tener un fondo común, o por decirlo de alguna forma este fondo común es virtual y la aplicación está al tanto en todo momento de las deudas entre los integrantes del grupo. Me parece la aplicación definitiva para viajes con los amigos, pero también puede ser útil en cenas y cualquier tipo de evento social pues digamos que te hace olvidarte de aclarar cuentas, siempre están claras.
El funcionamiento de la aplicación es este, tres pantallas; pagos, deudas y resumen:

Pagos: Un feed con los pagos y transacciones del grupo, siempre me acuerdo del «Todo es un feed» de Manuel.


Deudas: Muestra cuanto debe una persona a otra y trae una opción activada por defecto que te minimiza las deudas para hacer el mínimo número de transacciones.

Resumen: Lo que ha pagado, gastado y recibido cada persona y su cuenta total. Además muestra el total gastado, por lo que se puede al final del viaje por ejemplo saber cuanto nos hemos gastado en él. Además indica quien es el siguiente en pagar, la persona que más deudas tiene para equilibrar un poco la balanza.


Integración de Jack y Pulseaudio

Me he llevado una grata sorpresa desde la última vez que intenté configurar mi PC para utilizar jackd, ya sabéis, en GNU el audio a nivel de usuario común funciona mediante Pulseaudio, pero a nivel profesional, para edición y producción de música se utiliza Jack, un sistema mediante el que las aplicaciones profesionales se conectan para permitir la mínima latencia entre la entrada y la salida, esto permite que por ejemplo si tenemos un teclado MIDI conectado y tocamos una tecla no haya un retraso no esperado en escuchar la nota. Lo normal en Linux es que tuvieras tu sistema configurado con jackd o con Pulseadio, eran en gran parte excluyentes y cambiar entre uno y otro daba bastantes dolores de cabeza. Pero recientemente a aparecido un puente que permite a Pulseaudio trabajar como un dispositivo más gestionado por Jack, es decir que podremos encaminar el audio de nuestras aplicaciones no profesionales, como Firefox mismo, hacia todo el sistema de Jack. Vamos a ver cómo:

En primer lugar vamos a usar KXStudio para tener las últimas versiones de las aplicaciones y utilidades para audio a nivel profesional. Descargamos e instalamos el .deb desde la web de KXStudio.

Actualizamos con los nuevos repositorios e instalamos tanto el gestor de Jack, Cadence como el puente entre Pulseaudio y Jack.

sudo apt update
sudo apt upgrade
sudo apt install pulseaudio-module-jack cadence

Vamos a trabajar con audio, así que nos añadimos al grupo pertinente:
sudo adduser usuario audio

Y abrimos cadence y lo configuramos tal como se muestra, marcando que se ejecute jackd y el bridge al inicio, además habrá que configurar jackd para que no se produzcan xruns, lo que queda fuera del alcance de este tutorial.

Con esto ya podemos hacer conectar Pulseaudio mediante Jack, lo vemos a continuación en Catia, lo encontraréis en la pestaña tools de Cadence.

 

Resolución de problemas

Después de seguir estos pasos me he encontrado con un problema, cuando conecto los auriculares a la toma no se escucha absolutamente nada, lo he solucionado mediante la utilidad HDAJackRetask.

sudo apt install alsa-tools-gui

Abrimos la utilidad y trasteamos un poco con ella hasta encontrar nuestra configuración adecuada.


El sorprendente ser humano

Se cuenta que el Dios emperador Leto II necesitó más de 3.000 años para, mediante su programa de selección artificial, crear un ser humano invisible a la presciencia, Siona Atreides. Esto quiere decir que ella y sus descendientes tenían la habilidad de esconder sus intenciones y evitar que aquellos que tenían la capacidad de anticipar los movimientos del resto, lo hicieran con ellos. Esta cualidad permite a la humanidad no volver a sufrir el yugo de los tiranos prescientes y es uno de los legados más importantes de Leto II.

Todo esto es obviamente ficción, relatada en las novelas de Dune de Frank Herbert, la realidad es mucho más sorprendente. En la realidad un simple humano, pero con la ventaja de millones de años de selección natural y una inteligencia brillante, consiguió el año pasado demostrarnos que no es necesario la llegada de ningún superhombre, la simple pero poderosa inteligencia humana ya puede ganar al tirano que mediante su brutal capacidad de cálculo conoce todas las probabilidades de que cualquier suceso ocurra y puede ver el futuro de la misma forma que nosotros podemos otear el horizonte.

Así como Siona «sorprendía» a su emperador, Lee Sedol sorprendió a la maquinaria de Google, arrancándole una victoria, solamente una vez, es una habilidad que hemos entrenado poco, pero Siona sólo tuvo que sorprender realmente una vez al Dios emperador.

Quien sabe lo que nos deparará el futuro, lo que es seguro es que nadie nos tendrá que subyugar durante cuatro milenios para conseguir esta habilidad, ya la llevamos dentro, la habilidad de sorprender.


Ticket virtual, API y RSC

Caja registradoraLos supermercados se van a lanzar a otra de esas campañas polémicas, ya pasó con el paso a cobrar las bolsas de plástico y ahora son los tickets. Todo viene por la noticia que ya he escuchado en varios medios de que los supermercados quieren minimizar la impresión de tickets en papel. Tengo que decir que la mayor parte de noticias no dan una buena información. Por una parte se dijo que se iba a enviar el ticket por correo electrónico, cosa que no he podido comprobar en ningún sitio, lo que he entendido por otras noticias es que Carrefour va a permitir marcar una casilla de “No papel” en su aplicación móvil, cosa lógica entendiendo que este ticket va a mostrarse ya en la propia aplicación. Lidl por el contrario parece que va a tomar una vía menos tecnológica y va intentar no imprimir tickets, cosa que como le recuerda Facua necesita ser aceptada por el consumidor, puesto que la ley española le obliga a entregar un ticket si el cliente se lo solicita.

Obviamente ya nos lo están vendiendo como responsabilidad social corporativa al igual que el caso de las bolsas, pero otra vez nos vamos a sentir estafados, trasladando en el primer caso un gasto y ahora una obligación al consumidor. ¿Que obligación? La de tener la app de Carrefour para tener el ticket. ¿Que gana con esto el supermercado? Fidelizar al consumidor, lo que malamente hacía con la tarjeta del establecimiento ahora lo podrá hacer con la aplicación móvil, todos los días tendremos notificaciones de ofertas de que comprar en Carrefour, ningún beneficio para el consumidor. ¿Y si no lo aceptamos? Seguiremos en la edad pre-digital, aceptando que la cartera se nos llene de papeles que luego siempre se nos olvida revisar.

Lo que toca obviamente es el paso a una forma más abierta y moderna de comunicarse con el cliente, el uso de APIs abiertas para el acceso de los datos permite a terceros manejar esa información. Esto permitiría por ejemplo tener refrigeradores inteligentes que ya están esperando la compra y te están avisando de su fecha de caducidad o de cuando reponer, el uso de otras aplicaciones para la lista de la compra, que avisen si se te olvida algo o la integración con tu gestor de la contabilidad preferido. Está claro que esto no reporta ningún beneficio al supermercado y por sí solo no lo va a implantar. Como en tantas otras cosas tenemos dos opciones:

  • La vía estatal: Regulación para que además del ticket físico se pueda acceder a uno virtual mediante una API para cada cliente. Cosa que ya se va a poner en marcha en la regulación bancaria.
  • El proselitismo y la producción: O lo que es lo mismo concienciar sobre las virtudes de las APIs abiertas tanto a usuarios como a tiendas y supermercado, hacer software libre para proveer estas APIs y por supuesto dar ejemplo ofreciendo esta información en nuestras propias ventas.

Teniendo claro que la primera opción no va a darse por arte de magia, este club no tiene mucha vocación de lobby y Facua parece poco inspirada, la opción que nos queda es la segunda, por eso mismo estoy ahora escribiendo esto. ¡Démosle caña a esas APIs!


No, comprar local no salvará el mundo

Yo estaba totalmente convencido, posiblemente por las veces que lo he escuchado repetido de una y mil formas: «No es ecológico si lo traen de la Cochinchina», además al vivir en la huerta de València hace que este tipo de conversaciones salgan bastante a relucir, quien más y quien menos tiene un trocito de tierra que tiene que defender. Pero por unas cosas o por otras ya no creo a ciegas argumentos simplistas, esos que cuando los oyes piensas, pues claro, tiene todo el sentido del mundo, no, necesitamos ver el cuadro completo para hacer ese tipo de deducciones. Un artículo que leí recientemente me ha hecho repensar ciertas cosas sobre «lo ecológico» que ya intuía, pero no sabía bajar a tierra. Tampoco puedo decir que esté totalmente de acuerdo con el artículo, no comparto que el consumidor no tenga ningún indicador para saber cual es la huella de carbono de un alimento, sí la tiene, se llama precio.

Precio, certificado de huella de carbono

El precio de un alimento tiene una relación directa con la cantidad de recursos que se consume en su producción. Agua, fertilizantes, gasoil para el tractor, manutención del tractor y eso que tan feo suena de recursos humanos, todo esto interviene en el precio final de cada lechuga que compramos en el mercado, o debería, tenemos también intereses especulativos con la comida, aranceles y otros impuestos que complican este cálculo, pero por lo general cuanto más sana sea la cadena entre el productor y el consumidor más directa será la relación entre precio y consumo de recursos. Todo consumo de recursos influye lógicamente en la huella de carbono, destilar diésel del petroleo y luego quemarlo en el tractor es el ejemplo más claro, pero en lo que menos reparamos normalmente es justamente lo que más huella de carbono deja, el jornalero, esos recursos humanos, la persona que gasta sus esfuerzos en recoger esa verdura, la que lo lleva al mercado, la que luego lo vende. La manutención de todas estas personas y muchas veces de los familiares directos es obviamente un consumo de recursos enorme, puesto que esa gente tiene la mala costumbre de comer, trasladarse hasta el trabajo y a veces incluso, malditos derrochadores, tienen momentos de ocio, todo esto genera un impacto en el medio ambiente con el que hay que contar.

Una vez empezamos a ver el precio como indicador de la huella de carbono nos vamos a replantear muchas cosas. ¿Cómo un tomate de Brasil puede tener menos huella de carbono que el cultivado en la huerta de València después de cruzar el Atlántico? La respuesta es clara, igual el productor come un único plato de arroz al día, vive bajo el umbral de la pobreza y por lo tanto imprime muy poca huella de carbono. Esta es una verdad incómoda para cualquier persona de izquierdas o que tenga un poco de sensibilidad por el genero humano. ¿Significa que tenemos que ser todos más pobres para salvar el planeta, empezar una nueva edad oscura y volver a morirnos de hambre? No, la solución siempre ha estado delante de nuestras narices.

Tecnificación para salvar el planeta

Tecnificar significa usar la tecnología para ser más eficientes en nuestro trabajo, esta eficiencia se traduce directamente en un menor uso de recursos en la producción. El riego por goteo es un claro ejemplo de esto, unos recursos hídricos mucho mejor gestionados que cuando se riega a manta implican un consumo mucho menor de agua y una menor huella de carbono, toda mejora técnica implica una mejor gestión de los recursos y una menor huella de carbono, pero aun así tenemos que tener algo en cuenta y de la agricultura ecológica tenemos que aprender a no contaminar nuestros suelos, que sea esa la lección del siglo XX.

Volviendo de vuelta a nuestro siglo, este planteamiento nos lleva a un tema digamos espinoso. La punta de lanza de la tecnificación ahora mismo es la de los organismos genéticamente modificados, un tema del que la izquierda localista y biempensante no quiere oír ni hablar. La mayoría de argumentos en su contra se destapan como producto de la tecnofobia, de ese temor de tradición cristiana a suplantar a Dios, pero si descartamos todo esto, sí podemos quedarnos con un fallo terrorífico del sistema, la aparición de Leviatán. La centralización de la producción de alimentos en torno a un único actor, Monsanto, es algo que no podemos dejar de obviar, el problema aquí no es realmente con la tecnología, si no más bien con la descomposición que sufre el sistema. Hay que luchar contra este tipo de empresas y hay que hacerlo de forma clara y contundente, las semillas no pueden tener derechos de autor.

Aún así, al margen de los cultivos genéticamente modificados, que creo que es una tecnología que no acabamos de dominar, ni explotar correctamente sus posibilidades. Existen muchísimas técnicas que podemos aplicar a la agricultura para hacerla más y más eficiente, para poder salvar el planeta a la vez que nos salvamos nosotros, pues aunque a alguno le pese nosotros también formamos parte de esta tierra.


Una mirada atrás

img_20161022_164230791

Si todos tuviéramos nuestras Wifis conectadas con las de los vecinos, aunque no fuera muchos, sólo unos cuantos, llegaría un momento en que no necesitaríamos a la compañía telefónica para que nos diera acceso a Internet, seríamos parte de Internet.

Esta, que yo recuerde, fue la primera vez que me di cuenta del potencial de las redes distribuidas. No en vano, uno de mis primeros posts fue sobre cómo hacer una antena Wifi. Está claro que en ese momento no sabía lo que era una red distribuida, encontré el proyecto Güifi.net, pero también  empecé a vislumbrar una nueva forma de hacer las cosas, algo que luego llamaría empoderamiento y autonomía, que me llevaría a buscar nuevas formas de pensar, mucho más tarde a ser Indiano, a formar parte de esta increíble comunidad. Ahora empiezo un nuevo hogar, un nuevo nodo, sacaré la antena.


¿Ser progresista en un mundo sin progreso?

El primer libro de ciencia ficción que recuerdo leerme es Fundación de Isaac Asimov, antes había visto películas, novelas infantiles y cuentos de este género, claro, pero creo que fue en esa época cuando se me metió en la cabeza la idea de progreso y desde entonces he sido progresista sin dudarlo un momento, creo que ha sido una de esas bases tan profundas en tu forma de ser que ni siquiera piensas en ella en tu día a día, simplemente sin la idea de progreso mi vida no tendría ningún sentido. Y ese parece ser el tema al que me llevan últimamente todas las conversaciones.

Por una parte, el crecimiento de la izquierda reaccionaria, si es que se puede llamar así, es cada vez más obvio, he llegado a ver esta semana hasta como se argumenta contra la creación de empleo con la excusa de una mágica RBU, todo esto no me preocuparía demasiado si no lo hubiera unido con la noticia de la semana, la presentación del nuevo iPhone, la noticia es efectivamente que no hay noticia esta vez, la empresa que ha tirado del carro de la tecnología durante la última década no tiene nada que ofrecer, ningún nuevo producto, ninguna innovación, el no progreso.

El estancamiento producido por la crisis a nivel político es cada vez más obvio, personalmente me parece un día de la marmota continuo ciertas cosas, es más obvio la repetición perpetua de elecciones en España, pasando por el procés independentista català, el puño de hierro sobre Grecia y terminando con el fantasma del brexit.

Por todo esto me pregunto. ¿Cómo podemos ser progresistas en un mundo sin progreso? Es necesario más que nunca, tengo la sensación de que el mundo se está llenando de cobardes con los que no puede haber progreso, tenemos que seguir avanzando, porque si no donde quedará el famoso «¡Paren el mundo, que me quiero bajar!» de Mafalda, cuando el mundo ya esté parado.

Nota: Este post me ha costado escribir bastante tiempo, no tengáis en cuenta que cuando digo esta semana no sea la fecha de publicación 😉


Borrador de Open Badges para GNU social

Las medallas están de moda, claro, los Juegos Olímpicos, todas las naciones quieren unos bonitos medalleros para lucir en sus televisores, pero… ¿Y nosotros? Los que nos da un poco igual que un tío que ha nacido en algún lugar supuestamente cercano, gane sobre otro que ha nacido más lejos, a veces ni eso. ¿Podemos tener nuestras propias medallas? ¿Premiar lo que nosotros queramos? ¿Lo que nuestra comunidad considere de valor?

6982158585_b42672ba32_h

Añadir una imagen de una medalla olímpica era demasiado fácil, no se que os parecerán éstas, pero la foto es bonita.

Claro que sí, Open Badges es un experimento de Mozilla, una idea simple y potente, una imagen con metadatos que la hacen verificable ante cualquier otro, desgraciadamente la idea no tuvo demasiado éxito, como tantos otros experimentos de Mozilla, lanzan la piedra y esconden la mano, pero lo cierto es que no es culpa de esta organización, lo cierto es que no tiene una comunidad detrás lo bastante grande para poner en marcha este tipo de iniciativas, no está lo suficientemente diversificada. ¿Quién creo que tiene una comunidad lo suficientemente diversificada o podría tenerla? La esfera GNU social.

No solo es que GNU social sea mucho más diversa, es que sociabiliza mucho más que cualquier organización, claro, es una plataforma dedicada a ello, que además es libre y distribuida, creo que es el sitio donde un sistema de medallas puede funcionar bien.

gnusocial500

¿Qué pretendo, entonces?

Hacer un plugin de GNU social que implemente Open Badges intentando seguir el estándar de Mozilla lo mejor posible.

¿Como funcionará?

Siguiendo el estándar Open Badges, tenemos 3 actores en juego: Issuer, Earner y Displayer.

Que en GNU social cuadraría de esta forma:

  • Issuer: Usuario que puede enviar medallas a otros, debe permitir que la medalla se valide con su usuario. Gracias a GNU social este envío puede federarse entre distintos nodos.
  • Earner: Usuario que recibe la medalla.
  • Displayer: El nodo en que se encuentra el usuario es el que almacena y muestra sus medallas. Por lo tanto nuestro nodo serviría de medallero virtual y es además nuestra carta de presentación.

El procedimiento de uso será de esta forma, un issuer decide enviar una medalla a un earner dado, para esto se usa un estado de OStatus, el earner contesta este estado aceptando o rechazando la medalla y una vez aceptada se envía al medallero en su nodo. En el caso especial de el issuer sea el administrador del nodo las medallas se aceptarán automáticamente, esta decisión de diseño concuerda con la arquitectura distribuida de GNU social donde tú aceptas las normas de convivencia del nodo en que resides. Además permitirá en el futuro combinarse con el plugin SocialCapital para entregar medallas a los usuarios del nodo.

¿Sugerencias?

Como todo borrador que se precie está sujeto a cambios, se abre por lo tanto el turno de las propuestas y sugerencias. También se agradecerían recomendaciones para la implementación. Los comentarios están abiertos para que hagáis volar vuestra imaginación.
Photo credit: Emilio_13 via Foter.com / CC BY-SA


Honorables y existencialistas objetos

Photo credit: Pratap Sankar via Scandinavian / CC BY

Photo credit: Pratap Sankar via Scandinavian / CC BY

La semana pasada descubrí por casualidad el blog de Yegor Bugayenko, un blog que en tan solo una semana ha cambiado mi forma de programar, me ha hecho tomar consciencia de cómo funciona la programación orientada a objetos y lo que es más importante ha afianzado los cimientos de la moral que vengo cultivando desde hace tiempo.

Uno de sus posts que mejor resume su forma de programar, es decir, la que él considera correcta tiene como título “Seven Virtues of a Good Object“, me llamó la atención concretamente el punto 2, los objectos trabajan por contratos, a estos contratos en programación les llamamos interfaces. Me atrajo sobre todo el momento en el que dice que no debe interesarnos su origen, ni su sexo ni su religión, cosa que enlaza correctamente con otro de sus posts en el que nos invita a no discriminar objetos por su clase. Como una revelación todas las piezas del puzzle empezaron a encajar en mi mente, cuando dejas de valer por lo que eres empiezas a ser considerado por lo que haces, por tu fidelidad a la palabra dada, en una palabra por tu honor, no por aquel honor medieval rancio que no era más que una burla esencialista, si no al honor original ese por el que cumplimos con nuestras promesas.

Nota para programadores: Creo que voy a empezar a valorar mi programación respecto a la honorabilidad de mis objetos. ¿La clase X crea objetos honorables? Cuando creamos un test, lo que estamos haciendo es esto mismo, creamos un objeto y comprobamos si es honorable. El honor empieza a formar parte de mi vocabulario técnico también.


Demonios del sistema y el sexo de los ángeles

Pieter_Bruegel_the_Elder_-_The_Fall_of_the_Rebel_Angels_-_Google_Art_Project

Las filosofía Unix, la que impera en esta familia de sistemas operativos desde que apareció allá en los 70, se puede resumir en estas tres frases:

  1. Los programas deben tener una única función y hacerla bien.
  2. Los programas deben funcionar en conjunción con otros.
  3. La interfaz de comunicación es el texto plano.

Me parecía una buena forma de empezar el escrito, el recordar cual es esta filosofía que tantos esgrimen en contra de systemd, nuestro demonio más polémico. También me parecía correcto recordar el famoso significado de las iniciales GNU, “GNU’s not Unix!”, que en nuestra lengua diríamos algo como:

¡Ñu no es Unix, ostia!
Algún ñusero

Y es que han corrido líneas de código y ríos silicio desde que se fundó la filosofía Unix y el panorama que tenemos ahora es bastante distinto al de los 70, 80 y 90, se me ocurren dos diferencias significativas, primero que casi todos los sistemas son multinúcleo y segundo que hay mucha mayor diversidad de dispositivos, sobretodo por la aparición de los dispositivos empotrados, móviles, tabletas, relojes y todo lo que viene con la Internet de las Cosas.

Esto hace que los programas ya no se conecten unos a otros de forma secuencial mediante fontanería software, si no que pueden correr en paralelo y comunicarse mediante un protocolo de paso de mensajes, para esto se ha estandarizado DBus que ha pasado de ser una utilidad para los escritorios a ser una de las herramientas más útiles que tiene GNU/Linux. Este uso de DBus ha hecho que la premisa 2 de la filosofía Unix, siga siendo válida, pero de una nueva forma. La premisa que invalida por completo es la 3, la comunicación en DBus es de forma binaria, no me voy a meter a discutir sobre que es mejor, si el texto plano o el binario, porque es igual que la bizantina discusión entre XML y JSON, ambos tienen ventajas e inconvenientes, defensores y detractores acérrimos de cada uno y sinceramente creo que va un poco por modas la opinión mayoritaria sobre el tema, en el sistema de tuberías de Unix tenía su lógica usar siempre texto plano, ahora ya no tanto.

Y con esto llegamos a la premisa número 1, la que nadie quiere poner en duda, yo tampoco lo haré. Como desarrollador creo que el desacoplamiento de una pieza de software de otras algo extremadamente necesario en un buen diseño y hay que buscarlo siempre que se pueda. Mi opinión sobre systemd es que se ha malinterpretado cual es su función única en el sistema, sí es posible que en un principio aspirara a sustituir al tradicional Init, pero vamos, pensémoslo bien, desde el principio se llama systemd, demonio del sistema, está claro que era algo más que un simple arrancador. Para mí systemd es un administrador de demonios y como tal se encarga del ciclo de vida de los procesos no atendidos por los usuarios, es decir, los demonios. ¿Y journald, udev, logind, networkd y otros? Son dependencias de systemd, cierto, algunas las necesita para funcionar, si no quieres usarlos eres libre de no usar systemd o de desarrollar una adaptación del susodicho demonio para otros sistemas de este tipo y enviar un pull request al upstream.

No me quiero olvidar de porqué estoy aquí contando esta historia, vino por alusiones de @jordila@lamatriz.org sobre un artículo en etccrond.es, buen blog por cierto, donde se criticaba la última decisión del equipo de desarrollo de systemd, matar los procesos que queden corriendo al cerrar una sesión de usuario. A algunos administradores de sistemas esta decisión no les ha gustado nada, su argumento es que ellos día a día cierran sesiones ssh con procesos corriendo y vuelven para comprobar que el proceso ha terminado correctamente. Esto lo realizan redirigiendo las salidas estándar y de error a un archivo que luego revisan. Siento ser duro en esto, pero las cosas por su nombre, es una chapuza, si has llegado hasta aquí sabrás cual es la diferencia entre un demonio y un proceso de usuario, un proceso de usuario se supone que va a estar monitorizado por el usuario mientras se ejecuta y un demonio está preparado para correr sin la atención de ningún usuario, pero está en comunicación con el sistema de logs para dejar constancia de cuando se producen ciertos eventos deseados o indeseados. Hacer correr procesos de usuario como si fueran demonios y crear logs manualmente no está dentro de ninguna filosofía Unix ni lo estará nunca. Lo que necesitamos realmente es una utilidad que demonice un proceso al vuelo y se integre con el sistema de logs que se esté usando. En el ecosistema systemd esto se llama systemd-run.


Cómo instalar una Raspberry Pi sin conectar una pantalla

Raspberry Pi 3

El proceso de instalación oficial de Raspberry Pi siempre me ha tirado para atrás por el hecho de necesitar teclado y pantalla, esto es un sistema empotrado… ¡Hagámoslo desde nuestra red!

Primero que nada, vamos a descargar la imagen de Raspbian para instalarla en nuestra tarjeta SD, no vamos a usar entorno gráfico, así que he optado por Rasbian Jessie Lite, que tampoco se puede decir que es tan lite, la imagen pesa 1GB aproximadamente.

Descomprimimos lo que hemos bajado y seguimos el procedimiento para quemar la imagen en la SD. Este procedimiento se reduce a estos dos comandos:
dd bs=4M if=2016-05-27-raspbian-jessie.img of=/dev/mmcblk0
sync

Donde el dispositivo de salida /dev/mmcblk0 corresponde con el dispositivo donde se encuentra la tarjeta SD y 2016-05-27-raspbian-jessie.img es la imagen que hemos descomprimido.

Una vez terminado si queremos conectar la Raspberry a través de WiFi, tenemos que meter el SSID y la clave de nuestra red. He seguido éste tutorial que explica como hacerlo editando el archivo /etc/wpa_supplicant/wpa_supplicant.conf que podemos encontrar en las nuevas particiones de nuestra tarjeta SD. Si queremos conectar a la red nuestro cacharro directamente por Ethernet, no es necesario nada de esto, con un cable Ethernet y listo. Otro truco es conectar directamente al PC con un cable Ethernet, se creará una red local entre el PC y la Raspberry y también nos podremos conectar.

Por último conectamos la tarjeta SD y a la red de alguna de las formas que he comentado anteriormente. Ahora es cuando nos vamos a conectar por SSH, pero ¿Que dirección utilizamos? La magia llega de manos del demonio Avahi, que corre en las distribuciones Debian por defecto, esto hace una autoconfiguración de la red y nos da un punto de acceso dentro de nuestra red interna, esto es gracias a mDNS, un sistema DNS distribuido que permite que en una red local todos sepan los nombres de dominio del resto, así que simplemente nos conectaremos de esta forma:

ssh pi@raspberrypi.local

Como sabéis os pedirá el password, que por ahora estará por defecto a raspberry y podéis empezar con vuestra Raspberry Pi a configurarlo todo a vuestro gusto, empezando por cambiar esta contraseña.


Mensajes privados en GNU social y su federación

Los mensajes privados en GNU social son una de las cosas más olvidadas de la plataforma y este olvido viene dado por varios motivos; el primero que los mensajes privados o directos están implementados en un plugin que hay que añadir a posta en el config.php de la siguiente forma:

addPlugin('DirectMessage');

Después que la interfaz de los mensajes es bastante espartana y anticuada, usa esa separación entre la bandeja de entrada y de salida tan anticuada en lugar de la ventana normal de chat.

El tercer motivo y uno de los más importantes es que los mensajes no federan, OStatus no está preparado para ello y la gente que conoce el protocolo en profundidad asegura que no es la mejor solución.

XMPP_logo

¿Cuál es en mi opinión la mejor solución para esto? Implementar XMPP para los mensajes, esta solución permitiría federar mensajes al igual que cualquier servidor con XMPP, usar la cuenta con usuarios fuera de GNU social que tengan estas cuentas y también solucionaría el segundo problema porque se podrían usar aplicaciones XMPP como Conversation para iniciar conversaciones con toda tu red federada.

Puesto que ya hay un plugin para GNU social de XMPP, que permite usar el protocolo para publicar en la red, la solución podría ser modificar el plugin para que publique y reciba directamente desde los mensajes directos. Espero que este post sirva para iniciar una conversación sobre este tema y si alguien con conocimientos para llevar esto acabo se anima, que lo intente.


Comunitarismo para salir del capitalismo

Vivimos en la época en que el capitalismo ha alcanzado ya todas sus fronteras, al no poder llegar a nuevos mercados el sistema se convierte en un juego de suma cero, es decir, para que nosotros tengamos más otros tienen que tener menos y viceversa, esto se ha visto también mucho en el campo de la ecología, ese oponer el ser humano al resto del mundo, cuantas veces hemos oído lo de «No podemos seguir creciendo eternamente.», la respuesta es clara así no.

Por otra parte no siempre la sociedad capitalista ha traído cosas malas, consiguió destruir el sistema feudal donde se ataba a las personas a la tierra y se abolieron los estamentos, fue una auténtica revolución que germinó en las ciudades y permitió a la burguesía desde espacios al principio nimios ir creciendo hasta absorber en su modelo a toda la sociedad, finalmente a todo el mundo. Esto fue un claro avance social, pero se ha llegado a un punto en que en lugar de avances se está empezando a hacer retrocesos, se está haciendo frente a las ineficiencias del sistema a través del estado, estamos viendo tácticas por parte de las macro-corporaciones que harían buenos a los grandes señores feudales.

molinos y eléctricas

Perdón por la comic sans, desconozco quién es el autor original.

Pero tenemos una oportunidad de cambiar todo esto, la bajada de la escala óptima para la producción permite que pequeñas comunidades igualitarias se pongan a producir, ganando para ellos autonomía, permitiendo economías desmercadas dentro de estas comunidades. Al acercarnos a la escala óptima conseguimos un aumento sin límites de la eficiencia en la producción, lo que se conoce como productividad, que gestionado por estas pequeñas comunidades igualitarias permite reducir el tiempo y los recursos para la producción al tiempo que se aumenta lo producido en variedad y cantidad, esto que podemos llamar economía de la abundancia es la unión de un modelo de Producción P2P (entre pares) y la Economía Directa de los Kickstarters.

El conseguir cada vez más con menos es la clave del modelo que se presenta aquí, machaca las reglas del mundo capitalista, ya no hay que robarle al otro para nosotros tener más, si no que ambos podemos conseguir lo que deseemos, lo que puede permitir a la larga una sociedad de la abundancia con unas reglas totalmente nuevas y basada en el poder de las pequeñas comunidades igualitarias. Aquí y ahora podemos empezar a crear ese mundo al margen del sistema. ¡És el momento!

Todo esto y mucho más es lo que nos enseña el Manifiesto Comunero de Las Indias, podéis descargarlo en los distintos formatos en su página de presentación.


Cifra tus comunicaciones móviles con OpenPGP I

Reconocimiento: mrsdkrebs via Foter.com / CC BY

Desde ya ni me acuerdo cuando que colecciono llaveros, alguna especie de obsesión fluye por mis venas por los contenedores de llaves, ese objeto para agrupar todas las llaves y un escalofrío recorre mi espalda si tengo que encontrar una llave concreta en un llavero, el objetivo soñado, la llave única para toda tu vida, es una de tantas utopías a la que solo nos podemos acercar por la vía digital. En esta serie de tutoriales vamos a ver cómo, usando el estándar OpenPGP podemos cifrar nuestras comunicaciones digitales y muchas más cosas. Voy a empezar por las comunicaciones en el móvil, que son las grandes olvidadas en cuanto a seguridad, pero que ya representan un importante porcentaje de nuestra comunicación.

Antes que nada, decir que voy a utilizar únicamente software libre sobre Android para esta serie y es muy recomendable instalar una tienda de aplicaciones de software libre llamada F-Droid, con esta aplicación podréis descargar aplicaciones gratuitamente mientras que en la Play Store tendríais que pagarlas.

Nuestro llavero

Antes que nada vamos a instalarnos nuestro llavero digital en el móvil, la aplicación se llama OpenKeychain y es la que va a gestionar nuestras claves privadas y las claves públicas de la gente con quien nos comuniquemos.

En primer lugar por lo tanto necesitaremos una clave privada propia, si ya tenemos una porque ya usábamos de antes OpenPGP, la exportaremos a un archivo y la subiremos al móvil de una forma segura (por cable por ejemplo, ¡No uséis internet para esto, es inseguro!), si es nuestra primera vez con OpenPGP podemos crear una nueva clave privada desde OpenKeychain.

También necesitaremos las claves públicas, también llamados certificados, de toda aquella persona con la que deseemos comunicarnos de forma segura, así que pediremos a nuestros amigos estos certificados o los exportaremos al móvil si ya los teníamos. Al final tendremos una cosa así:

Screenshot_2016-01-30-12-49-10

Cifrar Correo

Vamos a instalar ahora el mejor cliente libre de correo para Android, K-9 Mail, configuramos ahora nuestra cuenta de correo y le pedimos a nuestro amigo que nos envíe un correo cifrado por nuestro certificado, recordad como funciona la criptografía asimétrica. En este caso tengo que dar las gracias a @gustavo@lamatriz.org por haber participado en el experimento.

Lo que veremos será algo como esto:

Screenshot_2016-01-30-12-40-08

Screenshot_2016-01-30-12-40-17Screenshot_2016-01-30-12-40-26

Como mi clave privada está protegida por una contraseña OpenKeychain me la pedirá y me preguntará cuanto tiempo deseo que la recuerde:

Screenshot_2016-01-30-12-40-35Screenshot_2016-01-30-12-41-09

Y finalmente tenemos el correo descifrado en nuestro móvil.

Ahora vamos a hacer el recorrido inverso, vamos a enviar un correo cifrado a nuestro amigo con su clave pública y cuando este lo reciba lo podrá descifrar con su clave privada. Los pasos ya son sencillos escribimos un correo y marcamos las casillas de firmar y cifrar, después nos saldrá una pantalla para configurar el OpenKeyChain para decirle que clave vamos a usar.

Screenshot_2016-01-30-12-51-13

Screenshot_2016-01-30-12-51-54

Y esto es todo por hoy, mis siguientes experimentos serán sobre cifrado de otras comunicaciones. ¡XMPP cifrado, allá vamos!


Red distribuida no es malla completa

Un error de concepto que leo una y otra vez a lo largo de la red es la confusión entre red distribuida y red de malla completa, lo cierto es que están relacionadas estas dos redes, pero no son lo mismo, vamos a verlo.

Red distribuida: La extracción de cualquiera de los nodos no desconectaría de la red a ningún otro. Todos los nodos se conectan entre si sin que tengan que pasar necesariamente por uno o varios centros locales. En este tipo de redes desaparece la división centro periferia y por tanto el poder de filtro sobre la información que fluye por ella.

Indianopedia

Partiendo de esta definición básica del concepto de red distribuida podemos ver que estas redes coinciden con la definición de red de malla o redes mesh. Las redes de malla se distinguen en dos tipos: completamente conectadas o parcialmente conectadas.

malla completa-parcial

En las primeras, todos los nodos tienen una conexión directa con otros nodos por lo tanto la comunicación puede ser siempre directa, no es necesario el enrutado de la información. En las segundas, las más abundantes, cada nodo está comunicado con varios nodos, pero no todos, la información circula por toda la red porque los nodos son más o menos permisivos en el traspaso de información, es decir que existe un protocolo de enrutado, en redes como GNU social, que es de este tipo, a este protocolo le llamamos federación y su especificación es OStatus.


Persona ha muerto, larga vida a OpenID connect

mozilla personaLa compañía de Firefox sigue soltando lastre. Una vez Mozilla ha decidido retirar su servidor de Persona, su sistema de identificación de usuarios, nos queda una duda: ¿Ahora que hacemos? ¿Como podemos gestionar nuestras identidades con un estándar distribuido?

Cuando la misma Mozilla no recomienda ya hacer instalaciones propias de Persona, ya se puede dar por muerto este estándar y tenemos que pensar en otras opciones. Así que o inventamos un nuevo sistema de identificación distribuida más moderno o volvemos al estándar al que dio la espalda Mozilla, OpenID. En aquel momento la decisión estaba justificada por la limitación de OpenID de no poder identificar mediante la dirección de correo electrónico, cosa que consideraban indispensable para la adopción por el usuario común.

Logo OpenIDLo cierto es que ahora tenemos un nuevo estándar, OpenID connect, que une las ventajas de OpenID con las características de los servidores WebFinger para permitir la identificación por correo electrónico, número de teléfono o lo que queramos. En mi opinión es el momento de coger este estándar que casi no se ha implementado y empezar a usarlo para conseguir una Web distribuida. Puesto que la identificación es la base para la identidad y esta no debe anclarse a servicios centralizados si queremos un mundo sin ataduras.


Hay vida tras Firefox OS

rssCierto es que el mundo de los sistemas operativos sigue eclipsado por el concepto app, que hace ya años revolucionó el mundo del software democratizando su producción con el modelo App Store, por otra parte Mozilla intentó copiar el modelo utilizando lo que más conocían, las tecnologías Web y es cierto que con Firefox y Chrome a la cabeza todo se movió hacia los super-navegadores, lo cierto es que gracias a esto hoy en día tenemos las aplicaciones híbridas que permiten crear aplicaciones multiplataforma de una forma muy rápida y eficiente.

A pesar de todo Firefox OS ha caído y a algunos nos deja una especie de vacío que vamos a tener que llenar de alguna forma. Mozilla quiere impulsar un sistema operativo para el Internet de las Cosas, ese es el camino, claro, el futuro en teoría. La pregunta es más bien, que calzado se va a poner para recorrer ese camino. Las tecnologías Web estaban bien en el momento en que había que unificar las capas de representación de los distintos sistemas, un solo conjunto de lenguajes para todas las plataformas. Pero en el Internet de las Cosas, la capa de representación la pondrá el propio objeto, en este sentido conviene más buscar un sistema operativo orientado a la capa de modelo. Para ello yo tengo una apuesta clara y bien conocida, el feed, un sistema operativo donde todo es un feed y el objeto únicamente se dedique a interpretar ese feed para ofrecer la mejor representación posible.

Claro, debido a la gran variedad de productos en los que se podría encontrar este FeedOS, al reducirlo todo a un feed, el objeto debería ser lo suficientemente inteligente como para representar correctamente ese modelo de datos. En este campo ya están empezando a surgir bots comerciales que trasladan de una representación a otra intentando perder la mínima cantidad de información en el cambio. Es el momento de que el software libre se suba a este carro antes de que lo pierda como pasó con el modelo app, tenemos que ir del diseño adaptativo al consumo multi-interfaz.


Todos usamos cookies, acéptalo ya. más información

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close