entramado.net

Internet

Borrador de Open Badges para GNU social

6982158585_b42672ba32_h

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


Mensajes privados en GNU social y su federación

XMPP_logo

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.


Cifra tus comunicaciones móviles con OpenPGP I

llavero

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!


Persona ha muerto, larga vida a OpenID connect

mozilla persona

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

rss

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.


Barreras de pago en estándares «abiertos»

There’s a generally accepted level of accessibility which is known as RAND or resonable and non-discriminatory which tech-industries wide is expected for certain types of documentation/specification. Historically “reasonable” was understood to mean that corporate entities could reasonably afford it, and the pricing would be at values like 10 or 50 thousand dollars US.

These values are clearly not “reasonable” for individual contributors. And moreover in the modern era it is very questionable what that high fee is for, since the costs for information dissemination are so low.

As a result, there has been some beginning of adjustment for what is a reasonable pricing to fit into the RAND style labelling. It’s happening slowly, but it does seem to be occurring. k8to

El mundo antes de Internet funcionaba así: se decidía crear un estándar entre varias empresas, se creaba una alianza para debatirlo, se publicaba y se distribuía. Definir estándares no es algo que cueste dinero, es más bien una negociación de carácter técnico, pero antes de internet, la creación de una alianza y la publicación y distribución del estándar desarrollado tenía un coste elevado, suponía la creación de un gran sistema burocrático con sedes en distintos países y gran cantidad de personal haciendo tareas puramente administrativas.

Con la red de redes todo esto ha cambiado, como bien saben en la comunidad Linux, la diseminación de información tiene un coste prácticamente cero. ¿Que sentido tiene seguir pagando las cuotas de acceso a estándares industriales? Para la gran industria la cosa está clara, mantener todo esa jerarquía burocrática, incluso crear nuevas con el mismo sistema, el objetivo es siempre el mismo, la extracción de rentas, donde los más pequeños siempre tienen las de perder. Así tenemos cosas como la MIPI Alliance o The Khronos Group, que podrían hacer mucho más de lo que hacen si abrieran sus puertas a las comunidades de hardware y software libres.


Herramientas para mapas, libres y colaborativas

Puede parecer un poco decepcionante para el que se inicia en los mapas libres y colaborativos como OSM que cuando entras en su página oficial openstreetmaps.org no se encuentren las mismas facilidades que en los servicios de mapas privados. No és que estén más atrasados o no quieran estas herramientas, es que esa web se dedica exclusivamente a promocionar Open Street Maps como lo que es, una base de datos geográficos. Y para obtener todos esos servicios nos tenemos que ir a otras webs que sí lo ofrecen, además también de forma libre y colaborativa. La lástima es no poder encontrarlos todos integrados en una misma web, creo que publicitaría mucho más este tipo de servicios, todo es ponerse de acuerdo, el código y las APIs están ahí. Vamos a verlos:

  • OSRM: Un motor de calculo de rutas desarrollado por la comunidad OSM, como no, es código abierto y no funciona nada mal.
  • TRAVIC: En esta web se han tomado feeds públicos con la información del transporte público de varias ciudades y se han situado sobre el mapa, por lo que es posible visualizar por donde va el autobús que quieres coger.
  • OpenTopoMap: Un mapa físico de toda la vida con algún toque de OSM, la verdad es que impresiona verlo.
  • Mapillary: Proyecto de alternativa colaborativa al Street View de Google. Muy vacío por el momento, pero es fácil que se vaya rellenando rápidamente con aportaciones de nuevos usuarios.
  • OpenAerialMap: Por último un servicio que no ha acabado de despegar es el mapa aéreo libre, hubo una iniciativa por abrirlo en 2007 pero la cosa no funcionó y ahora mismo no hay nada funcional que se le parezca, toda una lástima por que con la moda de los drones un servicio de este tipo podría llenarse de fotografías de usuarios que mostraran la tierra en alta resolución.

Como sobrevivir sin datos en tu smartphone

3g4glogoAunque hace ya un mes que contraté tarifa de datos he sido de las últimas personas es mi entorno cercano que han aguantado sin Internet en el móvil allí donde yo quiera. A pesar de lo que pueda parecer hoy en día, no es una tarea titánica vivir sin tener acceso a la red de redes en cualquier lugar. En este post voy a publicar las claves vivir sin datos que a mí me han funcionado bastante bien, siempre puede pasar que vuelva a esta vida y aquí tendré el recordatorio para retomarlo donde lo dejé.

  • Wifi: A día de hoy casi todas las cafeterías, cervecerías, pubs, restaurantes y otro tipo de locales tienen un wifi para los clientes. En cuanto llegues a cualquier sitio, pide la clave wifi, si está por la zona por la que te mueves aún mejor, al final tendrás tal cantidad de wifis que podrás moverte por la zona conectándote de una a otra, si vives en una ciudad pequeña, ya no necesitas nada más.
  • Apps: No todas las aplicaciones están pensadas para la vida offline, para empezar olvídate de la nube, sólo te dará complicaciones, piensa en alternativas. Siempre es interesante tener una gran cantidad de espacio en tu smartphone, varios gigas de datos pueden solucionar muchos inconvenientes la falta de conexión. Ahí va una lista de apps para Android amigas de lo offline. Recomiendo instalar F-Droid para conseguir las de código abierto más fácilmente.
    1. OsmAnd: Mapas, se descarga los mapas de OSM de la región que le especifiques y te sirve para GPS, calculo de rutas y todo lo que quieras.
    2. Moovit: Muy relacionada con la anterior, incluso la puede sustituir, si usas el transporte público con esta aplicación es posible guardar la ruta que vas a hacer para verla en el futuro, con su mapa de OSM incluido.
    3. SoundHound: Reconocimiento de canciones, puedes grabar un trozo de canción y cuando tengas acceso a Internet tratar de reconocerla.
    4. WordPress: Como buen bloguero esta no podía faltar, aprovechemos los tiempos muertos sin Internet para escribir borradores de artículos en local, luego solo tenemos que sincronizarlos cuando tengamos acceso a la red.
    5. TTRSS-Reader: Sí, podemos tener el lector RSS en nuestra propia nube, y con esta aplicación bajar los artículos para leer en cualquier momento.
    6. Se admiten sugerencias en los comentarios, las iré añadiendo aquí.
  • Informar de que no tienes Internet: Hoy en día ya todo el mundo da por echo que te pueden localizar en cualquier momento, si no lo avisas vienen las frustraciones en cualquiera de las dos partes. La presión social es uno de los motivos por los que más gente se ha atado al contrato de datos y los que hemos vivido sin él lo sabemos. Muy típico que quedes con alguien y no te envíen la ubicación del evento hasta el último momento. ¿Donde han quedado las damas y caballeros de la antiguedad que se sabían los nombres de las calles? Eso es cosa del pasado.
  • Paz interior: Esta es la parte más importante de todas, no se puede vivir offline queriendo saberlo todo en todo momento, por eso recomiendo relajarse y vivir la vida dejando que pase y aprovechando el momento, que es una de las cosas más interesante de la vida fuera de cobertura.

GNU Social Followers Widget

Ejemplo de visualización del plugin.

Así luce el plugin en mi blog, pero puedes elegir colores, tamaño del borde y muchas más cosas.

Desde el pasado sábado podéis ver en el panel de mi blog un widget con mi perfil de GNU Social, en lamatriz.org y los seguidores que tengo allí. Se trata de un widget para wordpress que he desarrollado a partir de un plugin similar para Twitter.

Su configuración es sencilla, es necesario registrar la aplicación primero en el nodo de GNU Social, de ahí se obtienen las dos claves necesarias para la autorización.

En mi caso he tenido que acceder en mi nodo al menú configuración, de ahí a connections y a la derecha pinchar en:

Developers

Are you a developer? Register an OAuth client application to use with this instance of StatusNet.

A continuación os muestro como lo tengo yo configurado:

Configuración en el servidor GNU social.

Configuración en el servidor GNU social.

No olvidéis rellenar el campo de descripción aunque sea texto sin sentido, si no no funciona. En el campo Source URL debéis poner la dirección de vuestro blog y el resto de campos como están.

Después instalamos el plugin en wordpress, agregamos el widget a nuestra barra lateral y rellenamos los campos de usuario (en mi caso: litox), servidor del nodo GNU Social (en mi caso: lamatriz.org) y las claves correspondientes. Personalizamos el widget a nuestro gusto, se puede editar prácticamente todo, y ya está. Así de “fácil”.

Para instalar el plugin, lo más sencillo es instalarlo desde el repositorio de WordPress o clonarlo desde mi proyecto en github:

git clone https://github.com/carsanbu/gnusocial-followers-widget.git

Y subirlo al directorio plugins de vuestro wordpress:
wp-content/plugins


Innovaciones para un cliente RSS

zaichina-rss

zaichina-rssMucho se ha hablado de si Google Reader estancó la innovación en los clientes RSS, pero desde que éste desapareció, no ha habido realmente grandes avances en este tema, ya es hora de que nos pongamos las pilas y pensemos que nuevas mejoras se podrían implementar en nuestro lector RSS favorito, yo uso Tiny Tiny RSS y es el que más conozco, puede que algunas de estas propuestas ya existan en otros clientes, si es el caso, no olvidéis dejar un comentario sobre el tema.

Ahí van mis propuestas:

  • Botones de Play/Stop: En temporadas de alto nivel de trabajo o desconexión informativa, queremos ver menos información en nuestro tablero RSS una forma de hacerlo sería agregar unos botones de Play/Stop a cada fuente y dejar al usuario que decida en qué momento desea recibir esos posts y en cuál no, de esta forma podríamos prevenir la infoxicación.
  • Asociar comentarios a publicaciones: La innovación que posiblemente sea más difícil de implementar pero la que más útil me parece. La idea sería que cuando añadamos una fuente de comentarios lo asociemos a una fuente de posts y el lector RSS aune en la misma página el post y los comentarios ordenados cronológicamente.
  • Notificaciones: No solo para el aviso de cuantas nuevas publicaciones han aparecido en tu cliente RSS, si no que podría estar muy unida a la propuesta anterior y que al pinchar en la notificación fueras al comentario en la publicación correspondiente, esto te pondría más en contexto lo que estás leyendo. En clientes Web mediante se podría implementar mediante el sistema de notificaciones de HTML5 para que se integrara con todo el sistema operativo.
  • Separación de Pingbacks de comentarios: Algo que no he conseguido aún es que TT-RSS me filtre los Pingbacks, cuando tienes una red de fuentes muy tupida los pingbacks se vuelven redundantes y hacen que parezca que tienes el doble de posts para leer, con un sistema de filtrado y separación de pingbacks se solucionaría el tema. La otra opción es que los blogs incorporaran dos feeds distintos, uno para comentarios y otro para pingbacks, pero eso entra fuera del ámbito de este artículo.
  • Otras: Puede haber mil ideas más, podéis dejar en los comentarios cualquier otra cosa que se os ocurra que podría tener cabida dentro de un cliente RSS común.

Página de API del blog

webmention-logo-380Influenciado por una lectura muy interesante, he decidido abrir una nueva página en el blog, donde se describen los recursos a los que es posible acceder en este blog, me gustaría ir añadiendo recursos de web semántica y mejoras en el blog, para ello he empezado con las Webmentions, con un sencillo plugin de wordpress. ¿Algún voluntario que quiera hacer una Webmention a este blog?

La idea es comentar brevemente con nuevos posts cada mejora que incluya para que quién me siga la pueda probar en su propio blog si le gusta.

 


El sentido de las enciclopedias centralizadas

Fases de la "revolución digital".

Fases de la “revolución digital”.

¿A primera vista, que notáis cuando veis esta gráfica?

Yo noto un buen vacío. ¿Coincidimos? Entre 1990 y 2001 la enciclopedia Britannica cae en picado en sus ventas, mientras que el proyecto Wikipedia aún no ha empezado ¿Que falta entonces?

Toda la web, los foros y los blogs, la imagen cae en el error de asociar Web 2.0 y Wikipedia con ese User creation que llama. Pero realmente todo ese User creation ya existía, si no por qué iban a caer las enciclopedias clásicas ¿Por Encarta? Ya, claro…

Esto es parte de esa negación de la Web distribuida anterior al 2.0 que hacen los que llegaron a ella cuando ya existía todo esto. Wikipedia puede ser útil para muchas cosas, adentrarte en un nuevo campo de conocimiento, encontrar recursos libres, etc. Pero no fue el causante de esta “revolución digital”, como tampoco lo fue ningún otro medio centralizado.

Fuentes: La imagen la he visto en el post How to reinvent engineering standard and references books?, que aun que relacionado con el tema, no llega a asumir el concepto de Web distribuida en contraposición al 2.0.


Integrar en Linux las notificaciones de Firefox

El sistema de notificaciones de Firefox hace su función, no digo que no, pero no se integra nada con los sistemas operativos y es un poco espartano. Hoy os voy a explicar como integrarlas en los escritorios de GNU/Linux.

Gracias a freedesktop.org ciertos aspectos de los escritorios que utiliza normalmente Linux están estandarizados y esta estandarización proviene de un debate previo de su propia comunidad, por lo tanto es garantía de software libre, entre sus proyectos más conocidos están Xorg y su próximo sustituto Wayland, los servidores gráficos sobre los que se sustentan todos los escritorios.

Otro ejemplo notable de estandarización de Freedesktop son las notificaciones de escritorio, de esta forma con un mismo programa es posible lanzar notificaciones en distintos escritorios de GNU/Linux. Como Firefox por el momento no implementa estas notificaciones tenemos que instalar un plugin que haga la función. El plugin se llama GNotifier, se instala y no necesita reiniciar Firefox.

Una vez instalado, en KDE, cuando termina una descarga aparece algo como esto:

Notificación de descarga en Firefox.

Notificación de descarga en Firefox.

Y también se integra con las notificaciones push de HTML 5, no hay muchas webapps que soporten esta característica, tiempo al tiempo, por ahora podemos probarlo con Webogram el cliente web para Telegram, el clon mejorado de Whatsapp.

Notificaciones HTML 5 de Webogram en Firefox.

Notificaciones HTML 5 de Webogram en Firefox.

Aviso que últimamente Webogram no está funcionando muy bien, a menudo muestra la página en blanco totalmente.


Red de Vehículo

Tesla model S.

Gracias a los enlaces de entramado descubro una noticia muy interesante que ha compartido Pablo, el descubrimiento de un puerto Ethernet en el Tesla S, el coche utiliza un Ubuntu para gestionar su contenido multimedia y los diseñadores le han provisto de un puerto Ethernet conectado a la red del coche, una red con 3 dispositivos, independiente de las redes más críticas del coche. Es decir que además de las interfaces y redes ya comunes en el resto de coches como ODB II o CAN, debido al auge del coche multimedia, ahora se suman al coche las redes que tradicionalmente han sido de PC. Esto a parte de un posible jailbreak del Tesla del que ya se habla implica otras cosas también interesantes, la posibilidad de ampliar a tu gusto la red tu coche, conectar los dispositivos que le vengan en gana, colocarle un punto de acceso Wifi,comunicarte con una antena con los coches de alrededor, unir tu coche a tu red de hogar… En fin, miles de posibilidades que se harán posibles, siempre que los fabricantes no nos blinden el acceso a estas redes, que es muy posible. ¿El futuro? Próximamente, en las pantallas de tu coche.


Pon IPv6 en tu Raspberry Pi

Si no lo sabíais os confieso que soy un extremo defensor de IPv6, creo que este “nuevo” protocolo de comunicación puede revolucionar la forma en que utilizamos la red, puede crear una red única, cohesionada y móvil, eliminando gran parte de los problemas técnicos que tenemos hoy en día para ofrecer servicios distribuidos a través de Internet.

Es cierto que la implantación de IPv6 también tiene sus puntos negros, con el establecimiento del rango de IPs por persona se podría asumir que la IP identifica a la persona, cosa que hoy en día no es posible, con las consecuencias legales de esto, un paso hacia el panóptico.

Pero aún así creo que IPv6 tiene más ventajas que inconvenientes y vamos a ver como podemos conseguir una IP pública de la versión 6 de este protocolo en nuestra Raspberry. De esta forma conseguiremos una dirección de internet incluso a través de routers con NAT y direcciones IPv4 dinámicas.

Primero entramos en nuestra RPi con SSH como siempre y miramos la dirección de internet que tenemos:

ifconfig

Veremos que solo tenemos una dirección IPv4 privada de nuestra red por ejemplo en mi caso es 192.168.0.129.

Raspbian por defecto tiene desactivada IPv6, supongo que para ahorrar recursos, así que vamos a activar el módulo del kernel que gestiona esta función:
sudo modprobe ipv6

Y ahora si volvemos a mirar nuestras IPs veremos que hay una IPv6 privada para nuestra red local, podemos usar esta si no nos salimos de nuestra red, pero queremos una IP pública para toda la Inet6.

Para ello usaremos Miredo, una implementación para Linux de Teredo, un túnel IPv6 sobre IPv4:

sudo apt-get install miredo

Y ahora volvemos a mirar nuestras IPs:
ifconfig

Y veremos algo como esto:

Dirección Inet6 de Teredo.

Dirección Inet6 de Teredo.

Probamos a hacer ping a una dirección IPv6 fiable:

ping6 -c 3 ipv6.google.com

Y nos debería devolver 3 pings sin perderse.

Como vemos el procedimiento es muy sencillo, esto nos da una forma rápida de acceder a Inet6, luego podemos acceder a la Raspberry en Inet6 desde cualquier ordenador únicamente instalando el paquete Miredo como hemos visto.

Por desgracia esto aún no nos da una dirección estática para la Raspberry y es un problema, tendré que estudiar otras posibilidades, como los proveedores de túneles IPv6.


Nuestra nube en Raspberry Pi

Logo de ownCloudEl proceso de instalación de ownCloud en Raspberry Pi se ha simplificado bastante, ahora la descarga e instalación es automática, podemos instalarlo en poco tiempo mediante SSH y conexión a Internet, lo vemos:

Primero la instalación de apache y compañía:

sudo apt-get install apache2 php5 php5-json php5-gd php5-sqlite curl libcurl3 libcurl3-dev php5-curl php5-common php-xml-parser sqlite

Vamos a la carpeta donde se guardan los archivos del servidor web:

cd /var/www/

Descargamos el archivo de autoinstalación:

sudo wget https://download.owncloud.com/download/community/setup-owncloud.php

Damos permisos a la carpeta:
sudo chown -R www-data:www-data /var/www

Y ya podemos entrar con el navegador en <NUESTRA_IP>/setup-owncloud.php y con unos sencillos pasos instalar ownCloud.

Con ownCloud tenemos el control completo de nuestra propia nube, yo utilizo este servidor para sincronizar mis contactos entre distintos dispositivos, lo veremos en próximos posts.


¡Ya me ha llegado!

Foto de mi Raspberry Pi

Raspberry Pi desembalada y montada en su caja.


Enlaces Interesantes XIII

La generación de consolas low cost con Android en busca de su público: Como dice el artículo es posible fabricarse una consola de este tipo casera, con un móvil, con una Raspberry Pi… el problema viene en la interfaz, si no encontramos una interfaz controlable con un mando de consola y que sea lo suficientemente sencilla vamos a tener una experiencia muy frustrante.

Cube Slam, el viejo Pong aderezado con WebRTC y mucho más: Parece que por ahora sólo funciona en chrome la parte social con WebRTC, una lástima, no tengo chrome instalado y no lo he podido probar y con chromium no funciona, pero eso sí, como Pong de toda la vida está muy bien.

Torrent-Enable any RSS Feed With a Couple of Clicks: Debería promocionarse más la combinación Torrent+RSS, para webseries sería un formato genial y con una aplicación para televisores conectados ya…sentarse y disfrutar.

Cobrarán peajes por el uso de la red eléctrica a quienes opten por el autoconsumo con balance neto: Para terminar de liar el panorama eléctrico ahora se va a cobrar peajes, como excusa ponen el pago de primas a grandes fotovoltaicas que encarecen la energía, como tantas veces el dinero de los pequeños va a parar a los grandes.

Aras, Advanced PLM Software: No era lo que buscaba, pero es un PLM open source a tener en cuenta. ¿La pega? Que sólo funciona sobre windows server y con .NET.

El miedo a PRISM hace crecer (mucho) el tráfico de DuckDuckGo: Buena noticia para el buscador del pato.

1, 2,3…1000 bibliotecas personales para tener la gran biblioteca: Bibliotecas personales federadas, interesante.

Open Design Engine: Plataforma para diseños de hardware libre.

El cacharro de la semana:

lamp_for_nerds

A lamp for nerds: Una lámpara LED de hardware libre, lo veo interesante para acuarios, se puede comunicar con un controlador u otras lámparas mediante protocolo serie yo preferiría DALI que es lo estándar, a ver si sale algún fork.


Comunicaciones en microcontroladores: Un ejemplo

Esto es un pequeño apunte mientras estudio un tema de comunicaciones en microcontroladores.

Pila del port Contiki OS a Arduino

Pila de Arduino IPv6

Las pilas de protocolos de comunicaciones en microcontroladores presentan algunos problemas en su implementación. Como sabéis la comunicación dentro de cualquier red se consigue utilizando una pila de protocolos que controlan diferentes ámbitos de la comunicación, en la parte de microcontroladores estas capas de la pila de protocolos se reducen a 3 o como mucho a 4, de abajo a arriba: nivel físico, de enlace, de red y de aplicación. Por encima del nivel de aplicación se encuentra el programa de usuario y por debajo del nivel físico el cable o el aire por donde se transmiten las ondas.

Lo problemática de programar este tipo de pilas viene cuando queremos comunicar información de una capa a otra. Si utilizamos C para programar (lo más común) tendremos que separar cada capa en un módulo y llamar de uno a otro mediante funciones declaradas en los archivos de cabecera. Pero cuando el tránsito de información se produce de abajo a arriba en la pila ocurre un problema, la recepción se produce de forma asíncrona mediante una interrupción, por eso la forma más eficiente de realizar esto es usando un flag que se active cuando se reciba un mensaje y una función callback, para realizar el procesamiento.

Una función callback es una función que se llama de arriba hacia abajo, pero en realidad está enviando información de abajo a arriba.

Para que me quede más claro el tema he buscado un ejemplo y he aprovechado que quería mirar el port de Contiki OS para Arduino. Este port utiliza como capa física los famosos chips XBee, baratos y fáciles de utilizar.

Contiki no sólo provee de una capa de red IPv6 si no que además proporciona la capa de aplicación CoAP. Me gustaría saber si se puede portar esto a Pinoccio, abaratando aún más la plataforma.

Así que me he puesto manos a la obra, me he bajado el código:
git clone https://github.com/telecombretagne/Arduino-IPv6Stack

Después de rebuscar un poco entre las librerías he encontrado lo que buscaba, en el fichero simple_udp.c:

if(c != NULL) {

        /* If we were called because of incoming data, we should call
           the reception callback. */
        if(uip_newdata()) {
          /* Copy the data from the uIP data buffer into our own
             buffer to avoid the uIP buffer being messed with by the
             callee. */
          memcpy(databuffer, uip_appdata, uip_datalen());

          /* Call the client process. We use the PROCESS_CONTEXT
             mechanism to temporarily switch process context to the
             client process. */
          if(c->receive_callback != NULL) {
            c->receive_callback(c,
                                &(UIP_IP_BUF->srcipaddr),
                                UIP_HTONS(UIP_IP_BUF->srcport),
                                &(UIP_IP_BUF->destipaddr),
                                UIP_HTONS(UIP_IP_BUF->destport),
                                databuffer, uip_datalen());
          }
        }
      }

 

Como podéis ver se utiliza la función uip_newdata() como el flag del que he hablado antes, además se puede observar cómo si existe una función callback en ‘c’ (la estructura que se utiliza para la comunicación) ésta se ejecuta pasándole los datos de la misma conexión y los que necesite para el nivel inferior, que es el nivel IP.

Como hemos podido ver, en las implementaciones de sistemas de comunicaciones complejos como este caso se utilizan estos métodos para solucionar los problemas de implementación que pueden surgir.


Para vender en Internet necesitas un relato

Y no sólo en internet, pero hoy voy a tratar sobre el tema del comercio online y ubicuo. Como habréis visto en las últimas recopilaciones de enlaces he hablado sobre pago electrónico y monedas virtuales. Con el auge de los smartphones se puede empezar a imaginar la venta móvil, estés donde estés y donde se podría integrar el pago al momento de servicios de autónomos o sistemas mixtos de compra, en el futuro que nos viene las fronteras entre virtual y físico empiezan a estar borrosas. Es el mundo de la computación ubicua y vendrá del lado del móvil y las criptomonedas.

Podemos empezar a entrar en este mundo abriendo una tienda virtual, con buena integración con el móvil, pero tal y como está la competencia necesitamos algo más, necesitamos un relato donde mostrar nuestras ideas, mostrar quienes somos y por qué vendemos lo que vendemos, sólo de esta forma empezaremos a unirnos a la gente que piensa como nosotros, a tejer redes y formar entramados, empezaremos a crear comunidad. Por supuesto nuestra comunidad y toda esa red se convertirán en nuestros mejores clientes y nuestros mejores proveedores, como vendedores y fabricantes obtendremos la mayor satisfacción haciendo lo que queremos y como clientes ganaremos la posibilidad de tener el producto más personalizado posible, el que se amolda a todas nuestras necesidades. ¿Hay algo mejor? ¿Estoy sufriendo un ataque de super-optimismo? Es posible, pero vale la pena intentarlo.


Enlaces Interesantes X

Con el traslado y todo esto no he tenido mucho tiempo de escribir, pero aún así he seguido leyendo y guardando enlaces en favoritos para luego compartirlos en el blog por lo que esta entrada puede ser más larga de lo habitual, tengo muchos temas de los que hablar, ahí va:

Diez proyectos que me gustaría hacer con la Raspberry Pi: De los cuales sobretodo me atraen el Ambilight y el despertador inteligente aún que le veo excesivo ponerle una RaspPi para eso, se pueden coger ideas.

Internet industrial: Artículo muy recomendable sobre lo que se le viene encima al mundo industrial.

#EUSKADI_P2P, el lugar más copiado del mundo: Continuando con lo industrial, una interesante reflexión sobre el modo de producción P2P.

La UE prohíbe la venta y reproducción de semillas autóctonas y tradicionales: Esta noticia es realmente alarmante, la UE ya estaba suficiente capturada por las grandes compañías alimentarias ahora además se quieren cepillar al pequeño agricultor que busca variedades locales. Yo ya me he puesto en pié de guerra, en un ejercicio de activismo de mercado pienso participar en poner en marcha una pequeña tienda de semillas, el permiso a empresas con menos de 10 empleados jugará a nuestro favor, ya conocemos los problemas de la economía de escala. De todas formas siempre nos quedará el bosque.

Pinoccio – A Complete Ecosystem for Building the Internet of Things: Cada poco tiempo salen nuevos cacharros que toman como referente a Arduino, como por ejemplo este Arduino con un ARM, pero este Pinoccio me parece muy interesante por que lleva una radio 2.4 GHz perfecta para el protocolo IEEE 802.15.4 y se programa igual que Arduino.

 Por qué los núcleos y su frecuencia no lo son todo para un procesador: Una explicación muy clara.

AMF: A Better File Format for 3D Printing?: Con la cantidad de opciones que proveen las nuevas impresoras 3D el formato STL empieza a quedarse corto, aquí va una alternativa.


IFTTT como controlador

Uno deifttt_logo los servicios que más le está siendo útil a los usuarios intensivos de la nube es IFTTT, este no es mi caso pero me ha llamado la atención su funcionamiento y útil que puede llegar a ser en ciertos contextos. La aplicación no puede ser más sencilla, se eligen una serie de eventos, que ahí llama triggers y una serie de acciones a reproducir cuando se produzcan esos triggers. Parece una tontería pero con este mecanismo tan sencillo podemos automatizar una gran cantidad de tareas en la nube. ¿Y si como yo no somos unos fans de la nube? Pues lo tenemos crudo con IFTTT porque solamente acepta los servicios en la nube más conocidos. Pero no os preocupéis podemos hacer uso de una alternativa libre, como Whenbot, no me preguntéis como funciona porque estoy bastante verde en el tema de las APIs, pero por lo visto corre sobre Heroku, un servicio que da acceso a APIs de distintos servicios de una forma sencilla. De todas formas pienso que se podría personalizar para instalarlo en tu propio servidor y con las APIs que tu decidas.

Todo esto me lleva a pensar que se pueden crear controladores muy básicos con estructuras de este tipo, pongamos un ejemplo:

Tenemos un sensor de temperatura con acceso a nuestra red y una estufa eléctrica sin control ninguno. Podemos con una Raspberri Pi hacer un pequeño programa que encienda o apague la estufa, luego con el Whenbot programarlo para que cuando la temperatura leída del sensor baje de cierto umbral ejecute el programa.

De esta forma tenemos el tipo de control más básico, un todo o nada, que es un tipo de control muy intuitivo que cualquier persona sin conocimientos de control podría programar. Los problemas que presenta se encuentran en las zonas límite, pueden aparecer oscilaciones molestas si la temperatura se encuentra todo el rato cerca de la temperatura umbral. Pero este es un primer paso, todo se puede ampliar.

Como podríamos conectar a la red distintos dispositivos y hacer que se comunicaran entre ellos obtendríamos una red de control distribuido muy configurable a nuestros gustos, por ejemplo en el campo de la domótica, pero también en muchos otros.

Continuando con este campo podríamos instalar contadores digitales, enchufes inteligentes, servidores, media centers y toda una infraestructura de red de hogar que se controlaría ella sola en una mezcla entre vivienda digital y automatizada que podríamos supervisar desde cualquier lugar del mundo gracias a las tecnologías Web.


Defendamos la Web: NO al DRM en HTML5

Se ha propuesto integrar un sistema DRM en HTML5, como si la Web fuera algo capaz de cerrarse a los mandatos de Hollywood. El DRM es una de las peores formas que tienen de controlar qué consumimos, ya lo hacían con el cine, la música, los libros…¿queremos ahora que también pongan puertas a la Web? uno de los pocos lugares de libertad que nos quedan, para intentar hacer frente a esta propuesta, firmad la petición de la FSF pinchando en la siguiente imagen:

Stop the Hollyweb! No DRM in HTML5.


Enlaces Interesantes IX

How to make a weather station with Arduino: Una shield hardware libre para Arduino que lo convierte en una estación meteorológica sencilla, incluye medidas de presión, temperatura y humedad y además un reloj en tiempo real para saber en que momento se toman las medidas. A partir de ahí ya se puede personalizar el diseño según nuestras preferencias.

La Semana Santa demuestra que al sistema eléctrico le sobra energía nuclear: La gestión de la energía en España es insostenible ¡hay que cambiar de modelo ya!

¿Lector de RSS para libro electrónico?: Como ya comenté, para mí la solución viene por sincronizar varios lectores RSS nativos, pudiendo utilizar uno para e-reader que muestre las noticias más tipo periódico. Mientras esto llega supongo que se puede hacer algo provisional con tt-rss, que nos permite obtener un feed RSS de cualquier lista y la funcionalidad de Calibre de leer de un RSS, aunque creo que ya ha comentado alguien esta posibilidad.

Graph.tk: Más sencillo imposible, metes la ecuación y se muestra a su representación gráfica, muy útil si estás estudiando matemáticas, aunque para un uso más profesional echo de menos que se pueda importar y exportar desde mathML o/y LaTeX. Pero lo mejor de todo es que: ¡Es Open Source!

Kitchen Garden Aid: Software Libre para planificar tu huerto.


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