Archivo

Archivo para la Categoría "Informática"

[IDEA] Software de mensajería P2P de código abierto

9 marzo 2013 10 comentarios

Hola.

Desde hace unos días se habla mucho sobre Whatsapp y su pago anual. A raíz de esto me he vuelto a plantear lo mismo que me planteé antes de utilizarla por primera vez. Me habría gustado usar una aplicación de código abierto y por supuesto gratuita. No siempre las cosas son como a uno le gustan y tiene que adaptarse a lo que hay, además de que no puedo usar una que cumpla esos requisitos pero que no utilice ninguno de mis conocidos.

El resultado de aquel primer planteamiento fue empezar a usar Whatsapp. Desde entonces ha pasado un año, y ahora después de leer buena parte de los post que pueblan la blogsfera en español sobre el tema, se me ha ocurrido una idea: escribir una API (o un núcleo) de una aplicación que pueda ser fácilmente portada a todas las plataformas (móvil y PC) y que no requiera servidores, con lo que podría ser gratuita.

A grandes rasgos mi ocurrencia ha sido la siguiente:

  • Tanto los clientes de escritorio como los móviles hagan las veces de servidor y cliente.
  • Intentar dar toda la carga posible a los clientes de escritorio por su mayor disponibilidad e ilimitado tráfico disponible.
  • Los mensajes se cifran en el dispositivo de origen con la clave pública del destinatario, y se descifran en el dispositivo de destino con su clave privada.
  • Los mensajes se entregarían directamente de dispositivo a dispositivo siempre que fuera posible. En caso contrario se distribuirían por los dispositivos de la red a la espera de que su destinatario se conecte.
  • Se mantendría siempre un determinado número de copias en el enjambre para garantizar su supervivencia (por si algún nodo del enjambre se desconecta).
  • Una vez entregados los mensajes a su destinatario, las demás copias se borran.
  • Se mantiene el mensaje enviado en el origen hasta que reciba confirmación de la entrega. En el hipotético caso de que se pierda en el enjambre, se puede saber si se ha perdido o no y brinda la posibilidad de reenviarlo.
  • Lo fundamental es que el núcleo de la aplicación sea fácilmente portable a cualquier plataforma, así el proyecto común se centraría en el desarrollo del núcleo y las iniciativas particulares se encargarían de aplicarlo a su plataforma.
  • Conseguimos una forma fiable y barata (gratuita?) de comunicarnos vía internet sin dependencia alguna de ninguna empresa ni servidor.
  • Sería un proyecto totalmente opensource para garantizar esa fiabilidad.

Personalmente el único problema que le encuentro a esto es que no sabría desarrollar mi propia idea, y por ello escribo este post por si alguien con los conocimientos necesarios cree que merece la pena y desea comenzar su desarrollo.

Para mí no tiene sentido una aplicación de mensajería si no pretende unir a cuanta más gente mejor.

Un saludo!

——————Google’s translation——————–

Hello.

For some days there is much talk about Whatsapp and its annual payment. Following this, I again raised the same as I considered before initial use. I would have liked to use an open source application and of course free. Things are not always as one would like and have to adapt to what is, plus I can not use one that meets these requirements but do not use any of my acquaintances.

The result of this first approach was to start using WhatsApp. Since then a year has passed, and now after reading many of the post that populate the blogosphere in Spanish on the subject, I’ve got an idea: write an API (or core) of an application that can be easily cover to all platforms (mobile and PC) and that does not require server, which could be free.

Roughly my idea is as follows:

  • Both desktop clients such as mobile phones can function as server and client.
  • Try to give all possible load desktop clients for their greater availability and unlimited traffic available.
  • Messages are encrypted at the source device to the recipient’s public key, and decrypted at the target device with its private key.
  • Messages are provided directly from device to device whenever possible. Otherwise be distributed by network devices waiting to connect to your recipient.
  • They always keep a certain number of copies in the swarm to ensure their survival (in case a swarm node is disconnected).
  • Once the messages delivered to the addressee, the other copies are deleted.
  • It keeps the message sent by the source to receive delivery confirmation. In the unlikely event that you get lost in the swarm, you can see if it is lost or not and provides the ability to resend.
  • The bottom line is that the core of the application is easily portable to any platform, so the common project would focus on the development of core and private initiatives would be responsible for applying it to your platform.
  • We get a reliable and cheap (free?) To communicate via Internet without any dependence on any company or server.
  • It would be a completely opensource project to ensure that reliability.

Personally the only problem that I find is that I could not develop my own idea, and so I write this post in case someone with the necessary knowledge to create worthwhile and want to start their development.

To me it makes no sense if a messaging application is not intended to unite many people as possible.

Greetings!

Tutorial para Android: ¡llamadas (casi)gratis vía internet!

8 septiembre 2012 2 comentarios

Muchos ya conoceréis el famoso Whatsapp, software de mensajería (casi)gratis entre móviles. Pues hoy vengo a contaros de otra solución para tener llamadas un pelín más baratas que esos mensajes. Un poco más baratas porque la aplicación de los mensajes sólo es gratuita durante el primer año de uso (e incluso para iOS es de pago desde el principio), y no directamente gratis porque necesitas una conexión a internet :p

Se trata de llamadas VoIP con protocolo SIP. A efecto prácticos es como una llamada de teléfono normal, solo que en lugar de viajar por las redes de telefonía habituales lo hace por la red de redes. Esto nos brinda la posibilidad de realizar llamadas de móvil a móvil desde o hacia cualquier parte del mundo con un único requisito: que ambos terminales tengan conexión a internet.

Hay operadoras de telefonía que bloquean el tráfico de aplicaciones VoIP porque ya ofrecen un servicio de pago para este tipo de llamadas, pero vía WiFi no nos lo quita nadie ;)

Desde Gingerbread, Android dispone de soporte nativo para llamadas de este tipo. Desconozco el caso del resto de sistemas operativos de móviles, pero seguramente sea parecido.

Leer más…

IRC e Ideone.com

9 febrero 2012 Dejar un comentario

Hace poco que han acabado los exámenes y pensé que era buen momento para hincarle el diente a C++. Pues eso mismo hice con éxito valiéndome de los tutoriales que uno se puede encontrar por ahí. Todo bien hasta que me topé con el típico error que no sabes muy bien de donde bien. Parece que todo está correcto y aun así no funciona :S

Primera opción: buscar por internet. No hubo suerte… me seguía pareciendo que estaba bien escrito y aun así no funcionaba. Necesitaba hablar con alguien que supiera C++. Pero… ¿dónde? Leer más…

Simulador tiro parabólico en Simulink

7 febrero 2012 Dejar un comentario

Aquí os dejo un modelo que hemos hecho para la asignatura de Métodos numéricos y simulación en Simulink.

En un principio la idea era modelar el Cañón de París pero al final se ha quedado en un simple tiro parabólico. Como parte estrella del modelo hemos incorporado rozamiento proporcional a la altura y el correspondiente a un cuerpo moviéndose a alta velocidad en un medio viscoso (proporcional al cuadrado de la velocidad). No es perfecto… pero creo que es una buena aproximación.

Tratamos de ajustar el coeficiente de rozamiento en la medida de lo posible con algunos datos del propio Cañón de París… pero no conseguimos ajustarlo del todo. Los datos que incorpora la simulación se introducen mediante un script de Matlab. En él están explicados todos los parámetros para que el modelo funcione correctamente.

El modelo consta del script que introduce los datos y el modelo. El modelo contiene varios subsistemas entre los que se encuentra el que implementa el rozamiento y que ocupa (ocupan en el espacio de simulink, no en bytes ;) ) casi tanto como el resto del modelo.

Os dejo unas imágenes para que lo podáis ver si no tenéis Matlab y además os dejo el propio modelo para que lo utilicéis si os da la gana. Lo he licenciado con Creative Commons BY-NC-SA tal y como se muestra al final de este post.

¡Espero que lo disfrutéis! :) Leer más…

Script para la limpieza del escritorio en BASH. (II parte)

28 noviembre 2011 1 comentario

En vista de que no hay contenido nuevo pero sí que hay alguien con interés en conseguir los scripts, los voy a poner aquí para que los uséis con un simple copia y pega :p

Os recuerdo que hay que darle permisos de escritura ;) Leer más…

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d bloggers like this: