Archivos de la categoría Blog

Java: Ligero servidor http REST + Json DB

La navidad pasada hice una web del amigo invisible para mi familia, ya que las que encontré por internet no cumplían todos los requisitos que queríamos.

El objetivo era muy simple, un frontend en bootstrap, yo siempre me descargo la plantilla de initializr.com, y una API Rest para cargar / guardar los datos de cada usuario.

Como no quería matar moscas a cañonazos lo hice en php + mysql. Problema: Leer y guardar los jsons en la base de datos y acceder a ellos de manera elegante y sencilla en php. El resultado fue patético, funcional pero patético.

Como soy mucho más fan de Java, pasado un tiempo decidí que lo mejor hubiera sido tener una API Rest en java pero en un servidor muy ligero que para un caso como este gastara como mucho 10mb de RAM y una base de datos de objetos, muy ágil y sencilla.

Dicho y hecho, en poco más de una semana subí el código a github:

https://github.com/adriafp/seguim-server

Playcraft

Por fin he recibido la invitación a la versión beta de Playcraft, la tengo que provar mucho más, pero después de ver su página de demo de de decir que es impresionante. Va muy rápido, mucho más que LimeJS y al estilo de ImpactJS que por desgracia es de pago 100$ y no tiene versión para probar.

Playcraft funciona sobre canvas, y es lo que me ha gustado más porque LimeJS te dice que sobre plataformas iOS no recomienda usar canvas pero otros como ImpactJS si que lo hacen y con muy buen resultado.

En resumen, tengo muchas esperanzas en este nuevo framework. Ya os iré contando como me va.

PS: Igualmente con mi nuevo iPhone 5 Spacewar va muy rápido a pesar de las carencias de LimeJS.

Seguim.com nos mudamos a WordPress

Después de muchas, muchas vueltas, he decidido pasar-me a WordPress, sobretodo gracias al tema Striking y ha que la web de Marta Pérez i Sierra también la estamos haciendo en WordPress (Aún no está en producción, lo estará en breve).

También estoy muy contento de haver-me decidido finalmente por usar Amazon EC2 para alojar las dos webs, de momento es una máquina micro que nos sale gratis durante un año, luego ya veremos.

Gestor de paquetes para Mac OS X

Siempre me pasa igual, a la que tengo que instalar alguna aplicación de “línea de comandos” git, wget, svn, etc, tengo que pasar por Macports que siempre lo he encontrado un engorro, o perder mucho tiempo encontrando los binarios para Mac y procurar que estén actualizados.

Homebrew es un gestor de paquetes al más puro estilo apt-get o yum de linux pero para Mac, algo que hacia tiempo que encontraba a faltar.

http://mxcl.github.com/homebrew/

DevOps: Vagrant + Puppet

El otro día subí un nuevo proyecto en github con las configuraciones necesarias para arrancar un servidor LAMP usando Vagrant + Puppet pero, ¿qué es Vagrant? ¿Y qué es Puppet?

Vagrant es una herramienta que nos facilita el trabajo con máquinas virtuales Virtualbox, con tres simples pasos:

Una vez ejecutados tenemos una máquina virtual funcionando que tiene un directorio compartido “/vagrant” donde veremos todos los archivos del directorio donde hemos ejecutado “vagrant init” y “vagrant up”. Además con muy poca configuración podemos mappear los puertos de la máquina virtual con nuestra máquina local.

El objetivo de todo esto es poder trabajar con la maquina virtual como si estuviéramos en nuestra maquina local.

Una vez tenemos una máquina levantada haciendo “vagrant ssh” podemos entrar en la máquina virtual e instalar todo lo necesario.

Para facilitar y automatizar este proceso usaremos la herramienta Puppet.

Puppet es una herramienta para gestionar servidores.

Puppet gestiona tus servidores. Tras describir las configuraciones de la máquina en un lenguaje declarativo, fácil de leer, Puppet iniciará tus sistemas en el estado deseado y los mantendrá así.

http://en.wikipedia.org/wiki/Simple_Declarative_Language

Puppet funciona de la siguiente manera: tienes unos archivos de configuración donde especificas que módulos quieres que el sistema tenga instalado. Por ejemplo: apache, php5, mysql. La primera vez que ejecutemos Puppet los instalará y las siguientes veces sólo comprobara que sigan existiendo y estén actualizados.

¿Cómo usamos Puppet con Vagrant? Sencillo, Vagrant de hecho ya viene preparado para trabajar con Puppet. Solo tenemos que añadir los archivos de configuración de Puppet e indicar en Archivos de configuración de Vagrant donde están para que al arrancar la máquina virtual los use.

El resultado es que además de tener una máquina virtual donde poder trabajar como si estuviéramos en local, está gestionada con Puppet.

¿Qué ganamos con esto? Todo el equipo de desarrollo trabaja contra la misma máquina virtual configurada de la misma manera, se acabaron las excusas tipo: “Es que en mi máquina funciona!”, además esta misma configuración de Puppet nos sirve no sólo para gestionar las máquinas virtuales sino otros entornos con máquinas físicas.

A esta metodología se le denomina DevOps.

Vagrant: http://vagrantup.com/

Puppet: http://puppetlabs.com/

Virtualbox: https://www.virtualbox.org/

DevOps: http://en.wikipedia.org/wiki/DevOps

Ubuntu + Android

Una gran idea de Ubuntu presentada en el Mobile World Crongress 2012. Un smartphone con Android que cuando lo dejas en la dock se conecta por hdmi a un monitor y por usb a un teclado y ratón, donde se muestra un Ubuntu de escritorio totalmente operativo.