Bicingstats: un registro histórico de los datos de ocupación del Bicing

Una de las cosas con las que he andado perdiendo el tiempo últimamente es Bicingstats, un proyecto muy sencillo que consiste en una aplicación que mantiene un registro histórico de datos del Bicing, el servicio público de alquiler de bicicletas de Barcelona, y ofrecerlo a través de una API REST en XML y en JSON.

Utilizando la Bicing API de Roc Boronat, Bicingstats obtiene regularmente (generalmente cada hora) datos sobre la ocupación de las estaciones, obteniendo el número de bicicletas ancladas y el número de espacios libres. Mantiene también un listado de estaciones disponibles con su posición en coordenadas. El código fuente de Bicingstats es libre y se puede descargar de GitHub.
Read More


Removing files from a GIT repository

A little trick for removing sensitive (or unnecessary) files from the history of a GIT repository. For example, to remove the file db/development.sqlite3 from the repo: Very useful :-)


Sending e-mail from an Heroku app with GMail

Recently I needed to send e-mail notifications through a GMail account from a Rails 3 app hosted on Heroku. The article that explains the procedure is out of date, but after some minutes of fighting, I arrived to the correct configuration. So here it comes :-). First of all, I needed to set SMTP as


Mi Moleskine de Lego

El otro día en la tienda del CosmoCaixa Barcelona encontré una cosa genial y no pude resistirme a llevármela a casa. Se trata de una auténtica Moleskine… ¡de Lego! Se trata de una Moleskine normal y corriente, salvo por la particularidad de que la cubierta dispone de un pequeño bloque de Lego. Esto tiene unas


Breve historia de la ingeniería de requisitos

Antes de la aparición de la ingeniería de requisitos, éstos eran competencia exclusiva del análisis de sistemas. En esta área se elaboraron algunos métodos de desarrollo estructurado como SA/SD (análisis y diseño estructurados) (De Marco, 1978), SADT (análisis de sistemas y técnica de diseño) (Ross y Schoman, 1977) o SSADM (análisis estructurado de sistema y


Por qué los requisitos

Nadie duda de que los cimientos son importantes. Por supuesto, se puede construir un edificio sin cimientos, siempre que ese edificio sea una pequeña cabaña de madera o siempre que no nos importe que se derrumbe mientras lo construimos. En cualquier otro caso, necesitaremos una base consistente sobre la que levantar nuestra construcción. Los cimientos


Disabling autocomplete in Rails forms

Sometimes might be helpful disable the forms autocomplete feature, specially for the password fields. Just add to the field tag: For example: This adds the parameter autocomplete=”off” to the HTML tag.


Herencia en una única tabla

Rails proporciona un mecanismo de herencia entre modelos dependientes de ActiveRecord::Base bastante interesante, denominado Single Table Inheritance (STI). La idea fundamental queda bastante bien reflejada en el siguiente diagrama (que hábilmente he plagiado de la web de Martin Fowler): Como queda bastante claro, Rails utiliza una única tabla donde almacena juntos los atributos de todos


Where is rails?

In my Mac OS 10.6, the rails intallation is in: /Library/Ruby/Gems/1.8/gems/rails-2.3.4/


Cappuccino

Cappuccino es un framework para desarrollar aplicaciones web con características de aplicaciones de escritorio. Está desarrollado sobre Objective-J, una variante de Objective-C escrita en Javascript. Se distribuye con licencia GPL. Interesante…