Desarrollando hardware / software

Tiempo atras recuerdo como el mero hecho de intentar desarrollar alguna pieza de hardware era vista como algo realmente complejo, al alcance de unos pocos que disponian de lo los recursos necesarios para poder crear los componentes de una placa .Hoy día las cosas han cambiado bastante por suerte; Existen muchas plataformas que te permiten de una forma “facil” crear productos unificados. Un ejemplo muy conocido es el del Rasberry pi. Por unos 5 dolares, unos 4 euros tienes una pequeña placa multiproposito con capacidad para instalar un sistema operativo completo. Eso hace unos años era impensable, definitivamente las barreras relativas al hardware se han roto. El conocido “internet of things”, va a explotar. No sólo eso, por ese precio, practicamente otras plataformas como arduino, que usa micros atmel de 8 bits practicamente estan  listos para la extinción. El tiempo dira.

Una sobre la relatividad …

 

Uno de los ejemplos típicos que se usan para explicar la teoría de la relatividad de Einstein es el de dos hermanos: uno de los ellos coge una nave espacial y se decide a volar a la velocidad de la luz durante un año, el otro se queda en la tierra y espera. Al volver, el hermano ha envejecido muchos años, mientras que el piloto no –no apreciablemente- .

La idea es que cuanto más rápido viajamos más lentamente pasa el tiempo. Nunca he llegado a entender este ejemplo. Dándole vueltas a la cabeza siempre me viene la versión de las películas, que es justamente el contrario. Cuanto más rápido vas, más rápido pasa el tiempo. Imaginemos a Flash Gordon, un personaje de comics que es capaz de moverse increíblemente rápido. Cuando él se mueve el resto del mundo parece ir a cámara lenta, se mueve tan rápido que los demás parecen estar congelados en el tiempo. Desde esta perspectiva el tiempo pasa mucho más rápido para Flash porque se mueve mucho más rápido que el resto del mundo, es decir, más lento para el resto del mundo…

Un paseo desde el Parc Bit

Ultimamente me ha dado por venr al Parc Bit de Palma. Es un lugar interesante donde se pueden encontrar multitud de empresas y startups. Siempre es agradable ver lo que se cuece por estos lares. El lugar despide un aire especial –aunque esto es solo una opinión muy particular- y pasear por sus calles observando el leve ir y venir de los que aquí trabajan es particularmente curioso.

El edificio Disset es especialmente interesante ya que es donde muchas futuras pequeñas empresas se están gestando. No hay un gran bullicio. Ni se ve un trasiego de cosas, es más como una calma que de vez en cuando se ve sobresaltada por pequeños sonidos.

No se puede decir que sea un lugar bullicioso :D.

El edificio tiene un diseño abierto, con una orientación de su entrada –o mejor dicho entradas- hacia el sur, lo que le da una cálida temperatura. Ademas su diseño en forma de persiana –no se si es orientable, le da un toque agradable y diferente, en realidad parece un poco como un colegio, donde cada puerta corresponde con una clase, con la diferencia que aquí en vez de matemáticas o lengua, encontramos asesores, programadores y otras índoles.

Contactos -App Android-

Ultimamente me he visto en la necesidad de mover mis contactos entre diferentes telefonos y la verdad que es un problema, sobretodo cuando tienes bastantes. Es un engorro. Asi que ¿por qué no hacer una pequeña app para poder trasladar todos los contactos de un terminal a otro de forma rápida y sencilla?. No tenia claro si hacer la app nativa o web, asi que me decidi por hacerla hibrida mediante Phonegap/Cordova. En un proximo post expondre los pasos y metodos que use para crear esta app. También publicaré el código -seguramente en GitHub-.

Si quereis podeis acceder a la app desde google play, aqui os pongo el enlace: Contactos

Un nuevo proyecto…

Tras un tiempo pensando y recapacitando acerca de un nuevo proyecto y evaluando las posibles implicaciones referentes a su implantación objetiva, al final hemos decidido embarcarnos en un nuevo e interesante desarrollo. Un juego social. La idea es tener unas bases prácticas y cuantificadas -previas, se entiende- que sirvan de unificación para el resto del sistema a construir. En general, queremos algo que sea:

  • Social

  • En la medida de lo posible, entrenenido y estimulante

  • Disponible para jugar desde mobiles o tabletas

  • Plantearse crear un sistema para Pc/Mac

La plataforma sera un sistema hibrido HTML/nativo. Seguiremos informando… 😀

 

Add-on para firefox de servicio de acortacion de URLs

Hace ya un tiempo que cree un servicio personal de acortación de URLs. http://o.jamj.org/web.  Estos servicios son realmente útiles a la hora de utilizar enlaces excesivamente largos, poco legibles o en servicios como twitter o identica.

Aunque el sistema va bastante bien, le hacia falta un poco de integración con las aplicaciones que uso habitualmente, como firefox, que es el navegador que uso normalmente. En su momento cree una sencilla API para dado el caso, poder usar el servicio desde un programa y asi no tener que ir directamente a la pagina para generar el enlace. Así que me puse manos a la obra y empecé a pensar en la mejor forma de hacer esta integración.

Depués de darle un poco a la cabeza, aun siendo algo obvio, decidí que la mejor forma de hacerlo era mediante la creación de un add-on para firefox.  La idea es la siguiente:

Seleccionamos el texto a partir del que queremos generar el enlace, le damos al menú contextual y seleccionamos la opción correspondiente a generar el enlace. Después sale una ventana con el nuevo mini-enlace.

Si quereis podeis bajaros el add-on desde aquí. (Es todavía una versión BETA)

Servidor de sincronización en Msever

Mserver – Servicios

Bien, retomando el tema de Mserver, uno de los primeros servicios que instalé en el servidor fue un daemon de sicronización de archivos. Idea y Objetivos:

  • La idea es tener un sistema centralizado en donde se encuentren todos los documentos personales. Cada ordenador satélite se sincroniza con el servidor para actualizar o descargar una copia de los mismos. Es decir no importa si trabajas con un portátil o con un sobremesa siempre tienes una copia de los archivos actual para trabajar.
  • Ha de ser simple y automático.

Gestores de control de versiones -primera opción

En un principio pensé en utilizar un sistema de gestión de versiones como subversion, git o cvs. El problema con este planteamiento es que rompe con el segundo objetivo, es decir, con la simplicidad de uso. No entraré en detalles pero estos sistemas no son nada prácticos para tareas simples de sincronización, muchas de las tareas hay que hacerlas manualmente, como mover archivos o añadirlos. Nada prácticos.

Rsync – El ganador

Finalmente me decidí por rsync como implementación para mi sistema centralizado de archivos.

Continuará …

Creación de Mserver

Mserver. 

Breve apunte sobre la creación de Mserver. 

 

Hace algún tiempo que quería tener un pequeño servidor para tareas personales, como compartir archivos, servidor de aplicaciones web, etc. Tener una máquina conectada las 24h es realmente muy últil -y divertido también-. El problema, lo de siempre, que máquina elegir, que sistema operativo y un sin fín de «posibles». Voy a intentar enumerarlos de forma general.

Costes

  • Consumo. Uno de los aspectos más importantes a la hora de elegir un dispositivo es su coste en relación a su consumo energético. Este factor es importante puesto que va a estar 24h conectado. El dispositivo que tengo tiene un coste -una vez calculado- aproximado de 25 euros anuales en electricidad. Un coste bastante asumible.
  • Coste del hardware. Por situaciones excepcionales he tenido acceso a un terminal de ultima generación. Son pequeños ordenadores en miniatura. Dado que yo ya tenía un terminal para uso como teléfono decidí el segundo como servidor. Coste del dispositivo. Cero euros.

 Características.

  • Los teléfonos están pensados para estar encendidos las 24h con un consumo realmente moderado. Justo lo que necesito como servidor.
  • El software que incluye el terminal es una derivación de UNIX, lo que permite la utilización de todo tipo de software como Apache, apt, herramientas de consola como top,sudo,ssh etc. 
  • Dado que la utilidad principal será la de funcionar como servidor de aplicaciones -casi exclusivamente para uso personal- las capacidades de la máquina son más que suficientes.

Puesta en marcha

La instalación de software es muy sencilla utilizando la herramienta apt-get. Sólo hay que añadir los repositorios adecuados. Instalamos el servidor web, perl, python, ruby y java como lenguajes de programación. También algunas utilidades y programas. Todo muy rápido y sencillo.

Más adelante escribiré sobre los detalles de cada apartado.

Texto original