martes, 12 de noviembre de 2013

Cambio de idioma

Estoy rediseñando el sitio principal y con este cambio , me gustaría ampliar el alcance a un mercado del que provienen mis últimos clientes. El mercado de habla inglesa. En consecuencia y de momento, hasta que tenga la posibilidad de finalizar mi propio sistema de blog con globalize, las próximas entradas serán en inglés.

Un avance de como está quedando el nuevo sitio:


martes, 19 de febrero de 2013

Publicar sitios en nginx

Si hemos seguido correctamente las indicaciones de la entrada anterior, deberíamos tener nginx funcionando correctamente y al entrar en http://localhost o http://0.0.0.0 ver lo siguiente:

nginx default
Nginx recién instalado

Sólo nos queda añadir los sitios para acceder a ellos, para lo que modificaremos el archivo de configuración de nginx. Si no indicamos lo contrario durante la instalación nginx se encuentra en /opt/nginx/  Editamos el archivo con:

sudo gedit /opt/nginx/conf/nginx.conf

En dicho archivo de configuración añadir la configuración de la aplicación como sigue:

server {
  server {
   listen 80;
   server_name example.com;
   root /home/deploy/myapplication/public;#<-ruta a="public="
**Extra Con los pasos anteriores nuestra aplicación ya está desplegada, pero podemos crear un dominio local, con lo que al encender nuestro ordenador podamos acceder más fácilmente a la aplicación. Esto es de utilidad también a la hora de desarrollar. En el ejemplo anterior si quermos que al escribir aplicacion.local en el navegador se muestre nuestra aplicación, basta con en el archivo nginx.conf , cambiar server_name, example.com por aplicacion.local. Luego editamos el archivo /etc/hosts con:
sudo gedit /etc/hosts
Añadimos la línea:
127.0.0.1 aplicacion.local
Listo, nuestra aplicación es accesible a trabes de http://aplicacion.local

viernes, 20 de abril de 2012

Nginx y passenger para rails en ubuntu

La siguiente guía asume que tenemos una instalación funcional de rvm.
Instalamos passenger, con el comando:
gem install passenger

Una vez satisfechas las dependencias de las que nos ha avisado el instalador, instalamos, nginx con:
passenger-install-nginx-module
Llegados aquí, comenzará el proceso pero llegado el momento tendremos un error por no tener privilegios de instalación.

En ningún caso, intentar sudo passenger-install-nginx-module, nginx nos dará problemas, passenger también e intentar deshacerlo es muy engorroso.

La opción correcta es a través del propio rvm con el siguiente comando:            
rvmsudo passenger-install-nginx-module
             
 Si estamos en un una distribución tipo server lo mas probable es que nuestro usuario ssh, no este en la lista de sudoers. Esto es, no podemos hacer rvmsudo, ni sudo gedit, ... Si intentamos completar la instalación a través de su, no encontrará passenger, ni a rvm.

  Esto se soluciona editando como su el archivo /etc/sudoers y añadiendo la siguiente línea:
miUsuario ALL=(ALL) ALL

Ahora al hacer   rvmsudo passenger-install-nginx-module   la instalación se realiza correctamente.
Si no indicamos lo contrario durante la instalación, nginx se instala en /opt/nginx. El archivo de configuración se encuentra en /opt/nginx/conf/nginx.conf. Añadir una aplicación rails es tan simple como añadir:
Nos interesa añadir nginx como un servicio del sistema, para poder hacer llamadas del tipo
sudo service nginx start | restart | stop
Para ello creamos un archivo llamado nginx en /etc/ini.d/nginx, con el comando:
sudo nano /etc/init.d/nginx
*Sustituyase nano por el editor preferido
En este archivo pegar el siguiente script:

A continuación le damos permisos de ejecución con 
sudo chmod +x /etc/init.d/nginx
La aplicación que hayamos configurada debería estar en marcha tras hacer
sudo service nginx start     

jueves, 29 de marzo de 2012

Heroku y rails

Heroku es una plataforma que permite el despliegue de nuestra aplicación en la red.Actualmente soporta Ruby, Rails, Python y de reciente incoporación tenemos Java.

Proporciona una base de datos compartida de 5MB , que para pequeñas aplicaciones o para pruebas suele ser más que suficiente.El espacio de alojamiento una vez desplegado es de sólo lectura, por lo que si nuestra aplicación carga imágenes estas no se podrán almacenar.

Heroku usa PosgtreSQL como base de datos, detalle a tener en cuenta al desplegar una aplicación en rails.  Si lanzamos nuestra aplicación a heroku sin la gema 'pg' no funcionará. El tutorial para rails que ofrecen es bastante claro, pero el tema de la base de datos puede marearnos, porque no se deja lo bastante claro.

Para un despliegue sin incidentes raros:
  • Instalar la gema pg en nuestro equipo. Probablemente nos dará algun fallo. En ubuntu para poder instalarla basta con hacer:
sudo apt-get install postgresql-server postgresql-client
sudo apt-get install libpq-dev
  • Instalar la gema 'pg' y añadirla al gemfile
gem install pg
En el gemfile: gem 'pg'
bundle install


No deberíamos tener ningún problema, y nuestra aplicación debería ponerse en funcionamiento sin problemas.

Proyecto Autogalería
La imagen es un ejemplo de una aplicación web desplegada en heroku.

Galería: http://smooth-mist-6554.herokuapp.com/

lunes, 19 de marzo de 2012

Space invader 2

Ya he montado el armazón, de la aplicación con processing, en principio lo que faltaría sería el sistema de disparos.

En el vídeo se ve el desplazamiento de dos de los invasores. La nave defensora ya responde a las teclas para desplazarse.

Intento ponerle algún efecto chulo al láser. Si queda bien la pasamos a aplicación para android y la ponemos en el android market.

Processing


Al hilo de la entrada Space invaders, introducimos la api processing.
Processing es una api java desarrollada por el MIT, que ofrece una manera fácil de generar animaciones con java.
En el vídeo de la derecha "Magnetosphere" tenemos un ejemplo de lo que se puede hacer con processing.
Las entradas a los portales de quartiersdumonde hacen uso de processing ,en concreto de processingjs que es la versión javascript.

Desde la página principal de processing podemos descargar el IDE que nos permitira desarrollar aplicaciones con processing.
Para usarlo integrado en eclipse, basta seguir el siguiente tutorial.

Las siguientes son dos imágenes de animaciones de entrada, hechas con processingjs, para el proyecto "Quartiers du monde":

Entrada QDM
Entrada FDM