Archive for the 'moterus' Category

Moterus - un año después

Moterus cumple hoy un año!

Es difícil resumir en unas frases todo lo vivido desde que empezamos con todo esto, hace ya casi año y medio. (Hace un año que “salimos” a internet, pero empezamos a trabajar antes, obviamente!)

Hemos tenido momentos buenos, momentos regulares, y algun momento malo. Pero ya se sabe que lo que se hace con pasión se hace con agrado, y se superan antes las crisis. Hemos aprendido muchíssimo en este año, hemos cometido errores (y los que nos quedan por cometer), pero seguimos con la misma ilusión que el primer dia.

Para celebrar este primer aniversario hemos preparado un concurso junto a la gente de motosprint-shop con unos premios más que interesantes, por lo que si eres motero y no estás todavia en moterus, ya no tienes excusa para entrar, puedes empezar con suerte! ;)

Nos vemos en la carretera,

Vsssss!

Moterus en inglés!

Lo bueno se hace esperar, y en este caso, hablamos de moterus, versión inglesa. Me gustaria que le echarais un ojo y me dierais vuestra opinión, así como que se la recomendeis a todos los moteros de habla no-hispana que conozcais!!!

P.D.: Para los más techies de la sala, fijaros en las urls en inglés/castellano (que mola mazo, pero no veas lo que cuesta hacerlo en rails….)

En otro orden de cosas, la semana pasada mi hija cumplió un año: el tiempo se nos va de las manos, y cuando te quieres dar cuenta ya es tarde y te has hecho mayor (Ya me queda poco para los 30….). Da que pensar que cuanto más grande eres, más recuerdas los tiempos pasados (ya se sabe, siempre fueron mejores!)

Ahora vamos a dormir, que ya toca, ha sido una semana intensa…

De ruta por mi tierra

Pues esta tarde, mientras mi mujer y mi hija dormian una siesta me he ido a dar una vuelta en moto, que con tanto trabajo la tengo un poco olvidada la pobre.

He redescubierto los paisajes fantásticos que me ofrece “mi tierra”, que poco o nada tiene que envidiar a los pirineos. Estamos en el centro de Cataluña, posiblemente en una de las zonas con menos habitantes por metro cuadrado (Tal vez descontando algunas comarcas pirenaicas), y somos poco conocidos. Pero si te paras a mirar en detenimiento los pueblecitos que nos rodean, te llevarás una sorpresa!

La ruta ya está colgada, cómo no, en la mejor comunidad de moteros de España (Y pronto del extranjero!).

Paisaje de la Segarra

Paisaje de la Segarra

Attachment_fu + S3 + Europa

Ya se que tengo pendiente un post sobre los controladores polimorficos en rails, pero hoy queria contar algo que creo es interesante.

Existe un plugin en Rails llamado attachment_fu, que permite de forma muy sencilla tener ficheros asociados a un modelo. Normalmente se utiliza para imagenes, ya que el propio plugin hace realmente sencilla la tarea de generar miniaturas (thumbnails) a diferentes tamaños para su posterior visualización.

Este plugin, además de permitir generar miniaturas y hacer senzillo el “upload” del fichero, permite guardar estos ficheros de distintas formas: en disco, en base de datos o en el famoso Amazon S3.

Lo recomendable es utilizar S3 por algunos motivos, entre ellos:

  • Espacio virtualmente ilimitado
  • Costes controlables y reducidos (pagas por uso y transferencia)
  • Despreocupate de los backups

Pero aqui empiezan los problemas, ya que attachment_fu utiliza el gem AWS::S3 para gestionar la relación con S3, y dicho gem tiene un pequeño bug que hace imposible subir contenido a un bucket europeo, solo funciona bien con los americanos. (El secreto es que el gem utiliza la API REST de Amazon, y siempre envia la cabecera “Host: s3.amazonaws.com”, cuando para los buckets europeos debe ser “nombre_bucket.s3.amazonaws.com”).

Otro aspecto negativo de attachment_fu es que solo te permite subir ficheros a un Bucket. Que pasa si quiero tener las fotos de los usuarios repartidas en distintos buckets? Pongamos un ejemplo práctico:

En moterus tenemos aspiración internacional, queremos tener usuarios de todo el mundo. Los usuarios pueden subir sus fotos, y queremos que las fotos se visualizen lo más rapido posible a todos los usuarios. Para que las fotos se visualizen rápido, es importante que estén en un servidor lo más cerca posible del usuario. Por este motivo Amazon tiene un datacenter en USA y otro en Europa. Tenemos que hacer que los usuarios americanos utilicen un bucket de USA y que los usuarios europeos utilizen un bucket de Europa.

Con el attachment_fu “estándar” esto no es posible. Pero por suerte existe GitHub, que nos permite hacer cosas como la que hemos hecho en VeSNe: un fork!

Ahi vamos. Si quieres utilizar distintos buckets de S3 en tus modelos utilizando attachment_fu o si deseas tener buckets europeos, utiliza nuestros forks en github:

AWS::S3: http://github.com/isaacfeliu/aws-s3

sudo gem install isaacfeliu-aws-s3 --source=http://gems.guithub.com

Attachment_fu: http://github.com/isaacfeliu/attachment_fu

script/plugin install git://github.com/isaacfeliu/attachment_fu.git

Para el AWS::S3 gem no hace falta nada en especial. Simplemente borrad el anterior si lo tuvierais (sudo gem uninstall aws-s3) y listo.

Para el attachment_fu hay algun cambio a destacar en el fichero config/amazon_s3.yml:

  • Ya no se acepta el parámetro “bucket_name”
  • Ya no se acepta el parámetro “server”
  • Hay un nuevo parámetro “buckets” donde se le pasa la lista de buckets con los que trabajar (separados por espacios), por ejemplo (fotos.moterus.es photos.moterus.com foto.moterus.it)
  • Hay un nuevo parámetro “use_vhosts” (true o false), para indicar si deseamos utilizar el nombre del bucket como dominio o se debe utilizar el dominio generico de amazon, es decir, si queremos que las urls sean del estilo: http://fotos.moterus.es/… o bien http://fotos.moterus.es.s3.amazonaws.com/… Para que nos funcione correctamente debemos tener en nuestro DNS un registro del tipo “fotos.moterus.es IN CNAME fotos.moterus.es.s3.amazonaws.com”

Además, en los modelos donde queramos trabajar con attachment_fu deberemos tener un campo en la tabla con el nombre “bucket_name” de tipo string, que es donde se guardará en qué bucket se encuentra su attachment. Y en el controlador que se encargue de crear el registro (Por ejemplo, photos_controller) deberemos pasarle el bucket en el metodo “create” del modelo, por ejemplo:

  def create
    Photo.create(params[:photo].merge(:bucket_name => 'fotos.moterus.es'))
  end

Y esto es todo! Te funcionará en buckets europeos y americanos, y podrás tener distintos buckets para cada modelo. Que mas quieres? Probad, probad, si todo funciona bien y no hay problemas, intentaremos que nos acepten el parche y lo implementen en el attachment_fu de verdad.

Dudas, comentarios?

En Moterus ya damos la vuelta al mundo!

Buenas noticias moteros,

Sumando la distancia de todas las rutas creadas en moterus en poco más de 3 semanas ya podemos recorrer más kilómetros que dando la vuelta a la superficie de la tierra. Según la wikipedia, el diámetro medio de la Tierra es de 12.742,00 Km, recordando los tiempos de la escuela, multiplicamos por π (Pi) y nos da un total de 39.939,06 Km.

Pues bien, es para mi una satisfacción poderos anunciar que en moterus ya tenemos más de 40.000 Km en rutas moteras por la geografia Española. A disfrutarlas!

Vssss

 



All I Want Here