Automate Everything: Ruby, Linux and other hints, tips and tricks.

Empresas que trabajan con RoR en España: The Cocktail

The Cocktail Logo En esta ocasión vamos a hablar de una de las empresas fuertes de España en lo que a desarrollo con RoR se refiere. Se trata ni más ni menos que de The Cocktail.

The Cocktail es la empresa que ha desarrollado sitios web como la comunidad de RTVE.es, el sitio de MTV España, la tienda online de Juguettos, etc. Y por supuesto La Coctelera

La compañía, fue fundada en 2003 por Alberto Knapp, quien llevaba un par de años trabajando en temas de internet. Empezó con un equipo de 6 personas y un perro y hoy ya son más de 70 personas y el mismo perro : ).

En sus orígenes, 2004, La Coctelera era una media docena de blogs y una portada en la que mostraban mezclada su actividad reciente. Cada uno de estos blogs tenía detrás un WordPress y la portada estaba compuesta por unas cuantas líneas de código PHP de cosecha propia. 

El objetivo principal era que La Coctelera permitiese a cualquiera, independientemente de sus conocimientos técnicos, abrirse un blog y publicar de una forma cómoda y sencilla. Y para lograr dicho objetivo crearon una plataforma intermedia que les permitiría reutilizar dicho código en sitios similares a La Coctelera. Dicha plataforma intermedia es a lo que bautizaron como The Shaker.

The Shaker comenzó a desarrollarse utilizando Rails 0.8.4 y además de en La Coctelera ha sido utilizado, entre otros, para los blogs de Tele 5, 20 minutos, RTVE, Prisacom y el grupo Vocento.

Cuentan que los motivos por los que escogieron RoR como herramienta de desarrollo fueron de lo más variados, desde los más técnicos hasta los filosóficos. Por un lado estaba la apuesta por el software libre (en aquel momento la máquina virtual de Java todavía no era libre) y por otro estaba el hecho de que sabían exactamente lo que querían hacer y herramientas como Drupal o WordPress no encajaban.

En medio estaba Ruby, un lenguaje del que muchos habían oído hablar pero del que pocos conocían sus virtudes. Gracias a Rails descubrieron apreciarlo, su sencillez, su potencia y su capacidad expresiva tan cercana al lenguaje natural. Todo un flechazo sin duda. 

En cuanto a tecnologías de Ruby trabajan principalmente con Rails y a veces con Sinatra. También nos cuentan que les encanta incluir tests en sus aplicaciones con RSpec + Cucumber.

La verdad es que es da satisfacción ver empresas de este calibre trabajando tan seriamente con Ruby on Rails. Y de toda la entrevista, me quedo con esta frase que mencionan cuando hablan de la comunidad y toda la excitación que se estaba generando en torno a Rails:

“Tener un billete en ese tren no tenía precio”

Empresas que trabajan con RoR en España: Vesne

logo vesneVesne es una empresa que surgió de la afición que Isaac Feliu y Francesc Pla tienen por las motos. Tuvieron la idea de montar una red social para moteros. En la que los usuarios pudiesen compartir rutas interesantes para hacer en moto, organizar eventos, colgar fotos. Y así es como moterus se ha convertido en un éxito.

Llevan trabajando con Ruby on Rails incluso antes de que saliese la versión 1.0 y parece que les ha convencido porque 4 años más tarde no sólo han lanzado moterus sino otras redes sociales verticales como servifutbol.com y elhogar.de abstrayendo el core de moterus.

Dicen que en temas de hosting lo tienen claro, usan Amazon EC2+EBS y S3. Y es que moterus maneja una cifras importantes en cuanto a tráfico. Son 14.000 usuarios y  2 millones de páginas visitadas al mes.

Cuando se les pregunta por sus oficinas responden que trabajan desde casa. Quién iba a imaginar que semejante red social es desarrollada en un pueblo de 80 habitantes y en una ciudad de 5.000 :O.

Mi impresión es que han acertado de lleno dessarrollando un núcleo para peder crear redes sociales verticales. Espero que sigan demostrando como un equipo pequeño puede hacer un producto de calidad.

Empresas que trabajan con RoR en España: Vostok

vostok logoVostok es una empresa localizada en Madrid y son responsables de sitios web hechos con Ruby on Rails como Planetaki o floresfrescas.com. Brillan especialmente en diseño y usabilidad. Y eso se nota cuando leemos que han hecho trabajos de diseño para Google, tuenti o minube.com. Dicho por ellos: 

“Tenemos una aversión a lo superfluo, ya sea en cuestiones de diseño, programacion, metodología o infraestructura.”

Vostok fue fundada por Javier Cañada en 2006. Y ahora son un equipo de cuatro personas, colaborando con Sam Lown para los proyectos que requieren desarrollo. Como anécdota cuentan que Vostok comenzó en una antigua peluquería de señoras en un barrio obrero, y nunca han tenido problema en decirlo.

Como ventajas de RoR que les ayudasen a decidirse se encuentran que agiliza mucho los tiempos de desarrollo y les gusta que el resultado sea elegante y fácil de mantener por dentro y por fuera. Dicen que se sienten identificados con la gente del mundo Rails porque es muy apasionada por lo que hace y se preocupa por los detalles.

Cuando se les pregunta por plugins y gemas responden que han usado hpricot, libxml, nokogiri, Prawn, RedCloth y HighLine. Además, herramientas como Git, sass y haml (y un mucha ayuda del patrón Model-View-Controller) ayudan a los diseñadores a meter mano en cosas puntuales sin causar una catástrofe.

Sin duda alguna, en Vostok hacen un gran trabajo y esperamos que sigan teniendo esa proyección internacional que han tenido hasta ahora.

Empresas que trabajan con RoR en España: Teambox

Teambox logo Ya habíamos hablado anteriormente sobre Teambox en UltimaHora.de Ruby, pero en esta ocasión no vamos a hablar del producto en sí sino de la empresa.

Teambox es la empresa dueña de la alternativa Open Source a Basecamp de igual nombre. Se trata pues, de una start-up recién salida del horno que no para de cosechar éxitos.

Fué fundada por Pablo Villalba en Mayo del 2008, inicialmente apuntando sólo a España. Aunque no tardó en abrirse al mercado anglosajón. Durante su lanzamiento, han estado presentes en la aceleradora Seedrocket y recibido más de un premio por la iniciativa.
A día de hoy, cuentan entre sus socios y consejeros con gente de la talla como Diego Mariño (fundador de Abiquo.com) y Albert Feliu (co-fundador y ex-CTO de Infojobs).
Al parecer, la idea surgió cuando un cliente le pidió un gestor para proyectos altamente confidenciales con los requisitos de que fuera open-source y que estuviera alojado en sus servidores. Al investigar en el mercado, todos los programas eran demasiado técnicos o simplemente poco útiles. De ahí surgió Saiku, que posteriormente recibiría el nombre de Teambox.
La aplicación ha ido evolucionando y ahora la palabra clave es colaboración. Con esa idea en mente, en sólo unos días, lanzarán Teambox 2.0. Que incorporará tweets instantáneos, conversaciones por hilos, tareas con trazabilidad y páginas wiki.
Actualmente consta de tres desarrolladores con mucho talento y contribuciones a la comunidad. Pablo comenta lo agradable que es ver como voluntarios se unen al proyecto, motivados por poder aportar a un producto que usan cada día y del que pueden aprender para su formación profesional.
Respecto a sus herramientas de trabajo, usan tanto jQuery como Prototype, dependiendo de dónde. Y que entre sus gemas preferidas están Capistrano, RedCloth y aws-s3.
Desde Teambox prestan mucha atención a sus usuarios. Comentan que a veces han recibido peticiones incluso de un grupo de niños de primaria o de una organización de girl scouts.
También, destacan que al trabajar en el ámbito internacional, todo está más cerca. Hablar con los desarrolladores de otras start-ups y conocer a aquellos de los que tanto leíste se convierte en algo cotidiano. Y que para el que no lo conozca, que lo pruebe: Lánzate con una start-up :)

Empresas que trabajan con RoR en España: Kings of Mambo

Kings of Mambo logo Con el objetivo de dar más visibilidad al desarrollo profesional con Ruby on Rails en España he decidido escribir algunos posts acerca de empresas Españolas que utilizan RoR. Empezamos la sección con una empresa de Barcelona, Kings of Mambo.

Kings of Mambo es la empresa que anda detrás de sitios como la obra social de la CAM (tucamon.es), promociones de Navidad para Infojobs (llevan ya 4 seguidas, con envíos de newsletter a más de 5.4 millones de usuarios), para Vueling, etc.

Fue fundada por Rafa Borafull, Josep Ortega y Pablo Sánchez allá por 2004 y por aquel entonces usaban PHP, ASP y Java en sus desarrollos. Fue en Mayo de 2006 cuando se dieron cuenta del potencial que tenía Rails y empezaron a usarlo en todos sus proyectos. Cuentan que, aunque han tenido que evangelizar mucho, se lo han pasado mejor programando.

Son una empresa pequeña, de hasta cuatro programadores y cuando se les pregunta por las gemas y plugins que usan responden que Paperclip, WillPaginate, Stringex, AuthLogic, ThinkingSphinx, ExceptionNotification y algunos propios para hacer scaffolds o módulos para su CMS.

En cuanto al hosting usan las herramientas MemCached y God y no podían faltar compañías como Amazon, Linode o SliceHost. Destaca el hecho de que durante casi tres años años hayan mantenido sus propios monstruoservidores para poder dar cobertura a proyectos como tucamon.es y promociones para Infojobs o Vueling.

Comentan que los maquetadores tienen también las nociones mínimas de Rails y Git. Para así tener una forma de trabajar en equipo que permite que sus aplicaciones tengan una alta calidad gráfica y de interacción. Y la verdad es que se nota, no hay más que echar un vistazo a su portfolio para comprobarlo.

Esperamos que Kings of Mambo continúe haciendo un gran trabajo, tanto desarrollando sitios web como evangelizando sobre Ruby y Rails.

 

Herramientas de trabajo

Respondiendo a la pregunta Rubyists – what are your “tools of the trade”? aquí está una lista de las herramientas con las que trabajo:

Hardware

  • Dell XPS M1330: Pequeñito (13”) y muy compatible con linux : )
  • 2GB RAM: A veces echo en falta más
  • 250GB HD

Entorno de Desarrollo

  • Ubuntu: Apoyo la idea de que todos usemos la misma distro aunque esta no sea la ideal
  • XFCE: Mucho más ligero que GNOME
  • VIM: Ni NetBeans, ni Eclipse, ni RubyMine… VIM! 
  • Yeahconsole: Como Yakuake o Tilda pero ligerísimo.
  • RXVT-unicode: Con el parche para soporte de 256 colores
  • Screen: Si usas el terminal a menudo no deberías vivir sin esto
  • Firefox: Add-ons rulez!
  • VirtualBox: Software Libre y funciona muy bien. Lo uso para IE y Photoshop

Otros

  • Echofon: He probado muchos clientes de twitter para Linux, ninguno me convence, Adobe AIR tampoco.
  • ZIM: Wiki personal perfecta. Atajos de teclado para todo y se guarda todo en ficheros de texto que puedes mantener en un repositorio.
  • Easystroke: Una vez que pruebas las gestures no quieres vivir sin ellas
  • Checkgmail: Es un deborador de RAM pero ahorra tiempo

Checklist sobre la calidad de tu proyecto Ruby on Rails

checkboxAparece en RailsInside un interesante artículo que Matthew Paul Moore escribió hace ya un tiempo pero que merece la pena leer. Se trata de una lista de cualidades que debería tener todo proyecto Ruby  on Rails.

Sin entretenerme más paso a enumerarlas en Español. Podéis leer las aclaraciones sobre ellas en el artículo original:

  • Cada acción de los controladores debe llamar a un sólo método del modelo aparte del find o new inicial. Para ello se crearán nuevos métodos new o update cuando sea necesario
  • Vista y Controlador compartirán dos variables de instancia como mucho
  • Los nombres de variables y clases deben ser inmediatamente obvias para programadores nuevos y tan cortas como sea posible sin usar abreviaturas.
  • Todas las llamadas personalizadas a find que se usen en más de un lugar deberán hacer uso de un named_scope en su lugar.
  • Nunca se hará uso de un find o find_by_ desde una View o ViewHelper
  • Hay cero código propio que duplica una funcionalidad ya existente en Rails
  • El código ha sido seriamente DRYed (Don’t Repeat Yourself) durante el desarrollo
  • Toda funcionalidad usada en dos o más modelos ha sido convertida en una librería o módulo
  • Toda lógica duplicada en dos o más aplicaciones ha sido convertida en gema o plugin
  • STI (Single Table Inheritance) no debe usarse nunca
  • Cada elección de diseño debe mostrarse de la forma más simplista posible para cubrir las necesidades del usuario. No se realizarán suposiciones sobre funcionalidades futuras
  • Los test cubren casi toda la aplicación en su nivel más alto. Tienen prioridad las funcionalidades más usadas
  • Todos los tests pasan antes de hacer un merge en un repositorio público
  • Cada defecto arreglado en un proyecto en producción posee tests para prevenir regresiones
  • Se ha revisado el código de cada plugin instalado

Verdades como puños en mi opinión. Y aunque seguro que todos hemos pecado de incumplirlas en alguna vez. Uno no debe dejar nunca de aprender y mejorar.

RubyPulse: Ruby Screencasts

RubyPulse Logo RubyPulse es un nuevo sitio web en el que  Alexander Peuchert nos ofrece sus propios screencasts sobre Ruby de una forma similar a la que Ryan Bates nos ofrece sus Railscasts. De esta forma, Alexander habla de herramientas más específicas de Ruby como live_console o hijack.

A Alexander aún se le ve un poco dubitativo en los screencasts (deben ser los nervios del principio : ) ) y llama la atención que trabaje bajo Windows con Cygwin.

Se agradece que cada vez aparezcan más iniciativas de este tipo que animen a la gente a usar este lenguaje.

Conferencia Rails 2009

Conferencia Rails 2009 es una reunión anual de los desarrolladores y empresas de habla hispana que trabajan con Ruby on Rails. El objetivo de la conferencia es difundir este framework y poner en contacto a profesionales del sector.

Este año la conferencia tendrá lugar en Madrid los días 26 y 27 de Noviembre y habrá tanto charlas como talleres. Aún no se ha abierto el plazo de suscripción pero esperan abrirlo dentro de poco a un precio entre 50€ y 80€.

Lo que sí está abierto es el call for papers así que los que quieran dar una charla o presentar un taller tenéis hasta el 29 de Septiembre.

En la web oficial de Conferencia Rails podéis encontrar más información amén de vídeos de las ponencias de pasadas ediciones.

5 Alternativas a Google Analytics en tiempo real

Google Analytics es genial, nadie lo niega. Pero le falta algo importante. Los resultados tardan en aparecer cerca de un dia y eso no es ninguna tontería. Ver como la gente llega a tu blog cuando posteas una noticia nueva es una experiencia de lo más gratificante. Esta es una recopilación de sitios web que te permiten hacer eso de forma gratuita.

StatCounter

A pesar de tener una interfaz de lo más espartana es uno de los que mejor funciona. De un vistazo podemos ver mucha información sobre el usuario, incluido el proveedor de Internet del usuario. Parece una tontería, pero es interesante cuando ves que la IP pertenece a entidades públicas como universidades, RTVE o incluso el cuerpo de policía.

No posee ningún tipo de interfaz con AJAX, lo que significa que debemos refrescar el navegador cada vez que queramos ver los nuevos visitantes.

Como limitación a la cuenta gratuita el log tiene un tope de 500 visitas, sobrepasado ese tope irá descartando las entradas más antiguas. Esto hace que no sea apropiado para hacer análisis a largo plazo como visitantes que retornan, etc.

StatCounter

http://www.statcounter.com/

Clicky

Este es uno de mis preferidos. En especial por la interfaz tan agradable que tiene. Los límites de la edición gratuita son bastante amplios. 3.000 pageviews al día y un log de 30 días de longitud.

La pega es que las features realmente interesantes, como el modo espía que muestra como llegan los visitantes en el mapa en tiempo real con AJAX, y los enlaces salientes pertenecen a la edición de pago. La edición gratuita no es tan inmediata como el modo espía pero no llega a desesperar.

Lo bueno es lo barato que es el plan económico, $29.99 al año. Merece la pena si te tomas en serio tu sitio web.

Clicky Spy

http://getclicky.com/

Woopra

Woopra es un concepto diferente. Los resultados no se ven en un sitio web sino en un cliente que descargas. El cliente está hecho en Java y funciona en Windows, Linux y Mac. Woopra es gratuito porque está actualmente en fase Beta gratuita previa aprobación.

La verdad es que la interfaz Java no acaba de convencerme, me resulta demasiado confusa y difícil de leer. Sin embargo Woopra ofrece algo radicalmente diferente que puede interesar a más de uno. Podemos solicitar a cualquier visitante de nuestra web una sesión de chat! :O Puede que alguno se sienta intimidado con esta feature.

Woopra Live

woopra chat

http://www.woopra.com/

BLVD Status

BLVD ofrece una presentación diferente en la que de un vistazo estamos al día de todo tipo de parámetros, todos ellos en tiempo real. Me gusta que indique la posición en la que aparece tu sitio web cuando la gente llega desde Google.

Sin embargo no lleva a convercerme del todo. No es tan bueno como otros a la hora de analizar esa información en profundidad en vez de en tiempo real.

BLVD

http://www.blvdstatus.com/

W3Counter

De todos los anteriores este es el único que no he probado personalmente en mi sitio web. Sin embargo, cacharreando con la demo podemos ver que es muy agradable de usar. Similar a Clicky, ofrece la información de forma clara sin evitar detalles. La versión gratuita está limitada a 5.000 visitas diarias. También ofrece un mapa live similar al de Clicky en su versión de pago ($39.9 al año).

w3counter

http://www.w3counter.com/

Conclusión

Dado que ninguno llega al nivel de profundidad de Google Analytics en su edición gratuita, lo ideal es usar una combinación de los dos si no queremos rascarnos el bolsillo. De entre los presentados aquí yo me quedo con Clicky y W3Counter por ser muy agradables de usar y con StatCounter por lo detallada de su información. Espero que os haya gustado este análisis y que esto sirva para conocer mejor a vuestros visitantes!