Domingo, uno de los dias de la semana que mas me gusta porque paso el tiempo dedicado a varias de mis cosas favoritas: dormir, leer, ver series / peliculas y algunas veces programo si me entusiasmo lo suficiente. Lo mejor del domingo es que no hay calendarios ni listas de tareas a seguir, el dia se toma como va llegando (1-5) y queria escribir sobre varias cosas que he venido realizando en la semana, nada estructurado o logicamente aplicable a un patron, solo aleatoriedad absoluta.

Desde el fin pasado he estado religiosamente viendo Capitulos de Haven, ya habia hablado de esto en posts anteriores y hace rato pude ver el capitulo 13 y final de la Primera temporada y quede deslumbrado por su calidad, definitivamente valido para terminar una temporada por buen camino, fue un placer ver a personajes de naturaleza pasiva revelelar su lado oscuro, asi como tambien encontrar respuestas a preguntas que desde el primer capitulo me venia haciendo, claro todo este esclarecimiento de misterios trajo a la vida a otros de mayor tamaño e intensidad, lo mejor de todo fue el final del capitulo, como audry parker reconoce quién es o quien cree ser y es abordada por otro agente del FBI quien dice ser ella misma, si este ultimo spoiler te parece totalmente incoherente te recomiendo que descargues toda la serie y mires detenidamente cada capitulo, pues si te pierdes un solo segundo tal vez quedes sin preguntas por responder.

Es realmente grato que Haven halla llenado el vacio que Stargate Universe dejo, pero no niego que me encantaria volver a ver cualquier cosa de franquicias como stargate, starwars y startrek. Cambiando el tema, otra de las actividades que ha tomado centro en mi esta semana es la creacion de Pradolabs, el blog promete, yo estoy bastante motivado a seguir escribiendo a diario para generar mas contenido que sirva para otros y el sitio promete en aceptación ya que en 3 dias de vida ha logrado ya una audiencia de Visitas diarias, poco, pero mucho para haber comensado solo hace 3 dias.

Hoy decidi tomarmelo un poco a la ligera en cuanto a la escritura, puesto que amaneci sufriendo con una vieja lecion en mi hombro lo que imposibilita un movimiento comodo a la hora de mover el mouse o simplemente pisar alguna teclas en el teclado, mi madre tambien ha comparecido ante el malestar de los riñones y segun me dice mi hermana esta confinada a su cama por el resto del dia y espero que no la semana completa, la idea de no poder salir, manejar y poder verla me entristece un poco, espero poder mover lo suficiente el hombro mañana para poder llegar a la oficina y taclear trabajo atrazado que tengo.

Dejando de lado el rant personal y dando vueltas por el internet me encontre con links interesantes, algunos videos impresionantes de la mano de THRU YOU, Noticias sobre Haven y su segunda temporada, blogs interesantes como makeusof, Electric Duncan y algunas noticias locas como que Microsoft gana mas por ingresos relacionados con Android que por su Windows Phone 7, bueno mejor dejo de escribir y me despido para darle descanso al hombro.

RVM (Ruby Version Manager) es una fantástica herramienta que te permite gestionar muchas versiones de Ruby (y de sus gemas) en un mismo equipo. Las gemas se manejan mediante contenedores (gemsets), allí puedes instalar lo que desees sin afectar el resto de los componentes. Es un principio muy parecido al de las máquinas virtuales.

La receta es para Debian pero se puede aplicar para cualquier distro, solo hay que tener en cuenta los nombres de los paquetes a instalar.

Comencemos entonces con las dependencias. Necesitamos git, las herramientas básicas para compilar, los fuentes del readline y del ssl:

# aptitude install libreadline5-dev git curl build-essential libssl-dev

Luego, como usuario ejecutamos el siguiente script:

$ bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

Ese script descarga rvm de git, lo compila y lo instala. Antes de usarlo debemos agregar una línea a nuestro .bash_profile, para eso ejecutamos:

$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

Hacemos un:

$ source ~/.bash_profile

Y verificamos que todo haya salido bien:

$ type rvm | head -1

El resultado de ese comando debería ser: rvm es una función. Si no obtenemos ese resultado algo ha ido mal. Les recomiendo entonces revisar la documentación de instalación o la página de problemas solucionados.

Ahora podemos ejecutar rvm como un comando más de consola. Instalemos un par de paquetes que nos harán falta antes de instalar una versión de Ruby:

$ rvm package install openssl
$ rvm package install readline


Instalamos una versión de Ruby (por ejemplo: 1.8.7):

$ rvm install 1.8.7

Y configuramos la versión que deseamos usar por defecto en el sistema:

$ rvm use 1.8.7 --default
Using /home/tu_usuario/.rvm/gems/ruby-1.8.7-p334


Ahora podemos crear gemsets a placer, por ejemplo:

$ rvm gemset create pruebas1
'pruebas1' gemset created (/home/tu_usuario/.rvm/gems/ruby-1.8.7-p334@pruebas1).


Notese que el @ en el mensaje anterior nos indica que el gemset ha sido asociado a la versión 1.8.7 de Ruby que habíamos instalado (y seleccionado para usar) previamente. Ahora instalemos otro gemset de pruebas para entender la magia del asunto.

$ rvm gemset create pruebas2
'pruebas2' gemset created (/home/tu_usuario/.rvm/gems/ruby-1.8.7-p334@pruebas2).


Podemos movernos a través de los gemsets usando el comando use con la siguiente forma:

$ rvm use 1.8.7@pruebas1
Using /home/tu_usuario/.rvm/gems/ruby-1.8.7-p334 with gemset pruebas1


Ahora probemos instalar una gema en el contenedor 'pruebas1':

$ gem install xml-simple --no-rdoc --no-ri
Fetching: xml-simple-1.0.15.gem (100%)
Successfully installed xml-simple-1.0.15
1 gem installed


Particularmente uso los argumentos --no-rdoc --no-ri para evitar la instalación de la documentación y otros archivos adicionales que no utilizo y demoran considerablemente la puesta a punto de la gema.

Veamos entonces qué tenemos ahora en 'pruebas1':

$ gem list --local

*** LOCAL GEMS ***

rake (0.8.7)
xml-simple (1.0.15)


Una nueva gema instalada en nuestro gemset. Y en 'pruebas2' ¿qué tenemos?:

$ rvm use 1.8.7@pruebas2
Using /home/tu_usuario/.rvm/gems/ruby-1.8.7-p334 with gemset pruebas2

$ gem list --local

*** LOCAL GEMS ***

rake (0.8.7)


¡Oh! No tenemos nada instalado. Eso quiere decir que nuestros contenedores están aislados uno del otro y que podemos instalar cosas que cada uno de ellos sin temor a romper algo en el otro (siempre teniendo cuidado del gemset que está en uso).

Si en algún momento dañamos un gemset basta con ejecutar:

$ rvm gemset delete pruebas1
WARN: Are you SURE you wish to remove the entire gemset directory 'pruebas1' (/home/tu_usuario/.rvm/gems/ruby-1.8.7-p334@pruebas1)?
(anything other than 'yes' will cancel) >


Respondemos yes y listo, desaparece el gemset con todo lo que tenía adentro.

Muy bonito todo, pero se preguntarán ¿Cómo le digo a un determinado proyecto que use un gemset específico? ¿O es que debo especificarle manualmente que gemset utilizará cada vez que vaya a ejecutarlo?

Pues la respuesta es muy simple, basta con crear un archivo .rvmrc en la raíz del proyecto con algo parecido a esto:

rvm use 1.8.7@pruebas2

Y desde ese momento, todo lo que está dentro de esa carpeta usará la versión del Ruby y el gemset especificado en el archivo.


NOTA: Es importante aclarar que Ruby, RubyGems, las gemas o cualquier otras cosa relacionada NO debe instalarse usando la paquetería de la distribución. TODO debe manejarse a través RVM, de lo contrario corromperemos toda la instalación.

Espero que esta receta les sea de utilidad, a mi me ha cambiado la vida xD

Me encanta dar buenas noticias y aprovecho para informar que ha visto la luz el blog Prado Labs. Partiendo de una iniciativa propia y por razones diversas decidi crear este espacio para dar a conocer a la comunidad de software libre hispana (o por lo menos para los que no tenian ni idea de que esta herramienta existe) las bondades del PHP Framework Prado, sus excelentes prestaciones, su facilidad de uso, su excelente documentación y las grandes cosas que se pueden hacer con el.

No me voy a dedicar explicar aquí para que sirve Prado, diríjanse al sitio y día a día (la cual es la frecuencia que estaré publicando Posts mientras la Familia/Trabajo me lo permita) para ir enterándose de sus amplias capacidades. La comunidad detrás de Prado es pequeña comparándose con otros Frameworks y busco incorporar nuevos usuarios hispano-parlantes a la mezcla, ayudar a este proyecto crecer es uno de mis objetivos de aquí en adelante porque para mi es importante ayudar compartiendo esta herramienta que me ha dado bastante de comer.

Prado no es un Framework nuevo, esta vivo desde el 2004 y ha sufrido muchos cambios en el camino así como ha superado muchos obstaculos, colaboremos y compartamos las herramientas que nos facilitarán el desarrollo del futuro. Si alguno de ustedes tiene conocimientos sobre Prado y lo ha utilizado en proyectos diversos y tiene el espiritu, las ganas y el tiempo para echarme una manito eres bienvenido, solo dejame un comentario y conversaremos. Gracias.

Hoy quiero retomar el tema del NSLU2, el tema de un servidor casero, silencioso y económico. El NSLU2 es un dispositivo que Linksys saco al mercado como un simple NAS sin muchas funciones que se diga pero gracias a esfuerzos de la comunidad se ha podido convertir en un servidor completo. Para Nosotros, los que nos gusta meterle Linux a cualquier cosa que consuma electricidad y tenga conectividad a internet le llamamos de cariño "Slug".

El Slug es una solución completa, barata para jugar con Linux embebido y lo mejor de todo es que el firmware original de Linksys usas el Kernel de Linux por lo tanto liberan el código fuente. Hoy en día aunque ya no tienen tanta actividad Unslung y OpenSlug siguen siendo las principales comunidades orientadas al NSLU2.

Debido a que ya esta descontinuado el NSLU2 no se puede comprar directo en las tiendas si en las que se puede lo cobran excesivamente caro. La solución es comprarlo por vías alternas como eBay, craigslist, etc.

Mi experiencia con el NSLU2 en cuanto a sistemas operativos se limita a Gentoo y Debian, particularmente prefiero Gentoo para este dispositivo ahora que Fedora esta empezando a desarrollar para ARM seria interesante intentar compilarlo para el NSLU2.

El NSLU2 viene limitado a correr a 133MHz pero su procesador en realidad es de 266MHz, para liberarlo es necesario eliminar un transistor. Así que sin miedo desconecten el cable de poder, abran la carcasa y eliminen este transistor:

Como servidor web con sus 266MHz (liberado desde 133MHz) y tan solo 32MB de RAM no es exactamente el tipo de servidores que usaríamos en para hostear el landing page de fedoraproyect.org o el wiki de Fedora pero si podemos tener nuestro blog personal corriendo en conjunto con otros servicios.



El NSLU2 no es la única opción en el mercado, pero es la mejor si tomamos en consideración el costo, al cabo de un anho de estar prendido 24/7 y los beneficios que obtenemos a cambio. Entre las alternativas que les puedo comentar están el DSM-G600 de D-LINK que cuesta alrededor de $50 y la primera versión del Apple TV por $110.


El DSM-G600 es rápido, tiene un procesador de 266MHZ al igual que el NSLU2 pero tiene 64MB de RAM y el almacenamiento es vía IDE en vez de USB 2.0. Lo malo de este dispositivo es que requiere de un ventilador para mantenerlo fresco y sacar el calor que genera el CPU y el disco duro en la carcasa.

La primera versión del AppleTV debería de ser mas rápida aun con su procesador de 1 GHz Intel "Crofton" Pentium M, 256 MB a 400 MHz DDR2 de memoria RAM y almacenamiento mas rápido que el NSLU2. No tengo mas que comentarles respecto a este candidato para servidor porque lo tengo corriendo con XBMC y lo tengo como media center hasta que le consiga remplazo (un google tv?).

Se le puede montar wordpress, joomla o algo así? No, créanme intente correr wordpress con 3 plugins distintos para la DB, intente usar sqlite3 y otros plugins para minimizar la carga de la DB pero no logre correr el blog que soportara mas de 3 conexiones simultaneas.

La buena noticia es que existen alternativas, en mi caso termine por usar Nanoblogger. Nanoblogger es un manejador de contenido que genera contenido estático esto reduce bastante la carga en el NSLU2.

CGI en BASH? No es tan halado de los cabellos como muchos piensan. Yo lo uso para cosas puntuales como una interfaz web para agregar artículos a Nanoblogger o mantener una URL (por ejemplo orvtech.com/ultima.bash siempre apuntando a la ultima URL que ya publicamos).

El limite de lo que puedes hacer con el NSLU2 es como el de Linux, te lo pones tu. Para mi no tiene limites, siempre hay una alternativa a lo que se puede hacer con maquinas potentes, para muestra aquí les dejo una lista de cosas interesantes que he hecho con el NSLU2:

  • Transmisión en vivo de imágenes: Con una demora de tres a cinco minutos un conjunto de scripts corriendo en el NSLU2 puede ser usado para cubrir eventos como el FLISOL, FUDcon, Google IO, eventos deportivos y convenciones en genera. La cobertura puede ser hecha por cualquiera con un dispositivo capaz de tomar fotos y enviarlas por email. Estos scripts manipulan estas imágenes insertando información relevante al evento, por ejemplo mis scripts para cubrir carreras de carros generan imágenes como esta:

    Como ven, en la parte superior tengo la fecha, hora, temperatura y presión atmosférica así como el logo en la parte inferior derecha. Puedes leer mas de este tema pinchando aquí.

  • Un puente de last.fm a gNewBook: Con un script hecho en BASH el NSLU2 puede actualizar nuestro estado en gNewBook.org con la ultima canción escuchada en nuestro perfil de last.fm. Si quieres ver el script, pincha aqui.

  • Comparte archivos vía torrents con tu propio tracker en el NSLU2: Usando bittornado podemos configurar el NSLU2 para que sea un torrent tracker. Para leer mas del tema puedes leer este articulo.

  • Un reproductor de música inalámbrico: Este articulo es una traducción de una mini-guia publicada por "POTUS Camacho", basicamente te explica como usar el NSLU2 y una tarjeta USB de bluetooh para convertir el NSLU2 en un MP3 player inalámbrico. La traducción de este articulo puede ser leída aqui.

Me ocurrió hace unos días que actualicé mi Debian y repentinamente me quedé sin conexión inalámbrica. Uso Debian Testing (Wheezy para la fecha) en una HP Pavilion dv2000 y la tarjeta de red inalámbrica es una Intel PRO/Wireless 4965 AG.

Leyendo y leyendo diferentes manuales todos afirmaban que con solo instalar el paquete firmware-iwlwifi del repo non-free la cosa funcionaba a la perfección y me constaba porque así lo había hecho en un principio. Sin embargo, luego de actualizar no anduvo más y lo curioso es que el lspci me devolvía señales de vida:

07:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (rev 61)

El paquete en efecto estaba instalado:

$ aptitude search iwl | grep ^i
i firmware-iwlwifi - Binary firmware for Intel Wireless 3945, 4


El lsmod me mostraba los módulos cargados y todo estaba bien:

$ lsmod | grep iwl
iwlagn 122417 0
iwlcore 50368 1 iwlagn
mac80211 160285 2 iwlagn,iwlcore
cfg80211 106889 3 iwlagn,iwlcore,mac80211


Incluso, los binarios del firmware también parecían estar en orden:

# find / -name "*ucode*"
/sys/module/iwlagn/parameters/ucode_alternative
/lib/firmware/iwlwifi-6050-5.ucode
/lib/firmware/iwlwifi-3945-2.ucode
/lib/firmware/iwlwifi-6000g2b-5.ucode
/lib/firmware/iwlwifi-5000-5.ucode
/lib/firmware/iwlwifi-5000-1.ucode
/lib/firmware/iwlwifi-4965-2.ucode
/lib/firmware/iwlwifi-5000-2.ucode
/lib/firmware/iwlwifi-4965-1.ucode
/lib/firmware/iwlwifi-6000-4.ucode
/lib/firmware/iwlwifi-6000g2a-5.ucode
/lib/firmware/iwlwifi-1000-3.ucode
/lib/firmware/iwlwifi-6050-4.ucode
/lib/firmware/iwlwifi-3945-1.ucode
/lib/firmware/iwlwifi-5150-2.ucode
/lib/firmware/iwlwifi-100-5.ucode


Luego intento ver el log del kernel y me encuentro con algo que me dio algunas pistas:

# tail -f /var/log/syslog
May 24 23:03:31 mpn82 kernel: [ 6214.119061] iwlagn: Intel(R) Wireless WiFi Link AGN driver for Linux, in-tree:
May 24 23:03:31 mpn82 kernel: [ 6214.119064] iwlagn: Copyright(c) 2003-2010 Intel Corporation
May 24 23:03:31 mpn82 kernel: [ 6214.119140] iwlagn 0000:07:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
May 24 23:03:31 mpn82 kernel: [ 6214.119153] iwlagn 0000:07:00.0: setting latency timer to 64
May 24 23:03:31 mpn82 kernel: [ 6214.119187] iwlagn 0000:07:00.0: Detected Intel(R) Wireless WiFi Link 4965AGN, REV=0x4
May 24 23:03:31 mpn82 kernel: [ 6214.157779] iwlagn 0000:07:00.0: device EEPROM VER=0x36, CALIB=0x5
May 24 23:03:31 mpn82 kernel: [ 6214.157782] iwlagn 0000:07:00.0: Device SKU: 0Xb
May 24 23:03:31 mpn82 kernel: [ 6214.157979] iwlagn 0000:07:00.0: Tunable channels: 11 802.11bg, 13 802.11a channels
May 24 23:03:31 mpn82 kernel: [ 6214.158062] iwlagn 0000:07:00.0: irq 46 for MSI/MSI-X
May 24 23:03:31 mpn82 NetworkManager[1140]: found WiFi radio killswitch rfkill4 (at /sys/devices/pci0000:00/0000:00:1c.3/0000:07:00.0/ieee80211/phy2/rfkill4) (driver )
May 24 23:03:31 mpn82 kernel: [ 6214.161805] iwlagn 0000:07:00.0: loaded firmware version 228.61.2.24
May 24 23:03:31 mpn82 kernel: [ 6214.162128] ieee80211 phy2: Selected rate control algorithm 'iwl-agn-rs'
May 24 23:03:31 mpn82 NetworkManager[1140]: SCPlugin-Ifupdown: devices added (path: /sys/devices/pci0000:00/0000:00:1c.3/0000:07:00.0/net/wlan0, iface: wlan0)
May 24 23:03:31 mpn82 NetworkManager[1140]: SCPlugin-Ifupdown: device added (path: /sys/devices/pci0000:00/0000:00:1c.3/0000:07:00.0/net/wlan0, iface: wlan0): no ifupdown configuration found.
May 24 23:03:31 mpn82 NetworkManager[1140]: (wlan0): driver supports SSID scans (scan_capa 0x01).
May 24 23:03:31 mpn82 NetworkManager[1140]: (wlan0): new 802.11 WiFi device (driver: 'iwlagn' ifindex: 6)
May 24 23:03:31 mpn82 NetworkManager[1140]: (wlan0): exported as /org/freedesktop/NetworkManager/Devices/3
May 24 23:03:31 mpn82 NetworkManager[1140]: (wlan0): now managed
May 24 23:03:31 mpn82 NetworkManager[1140]: (wlan0): device state change: 1 -> 2 (reason 2)
May 24 23:03:31 mpn82 NetworkManager[1140]: (wlan0): bringing up device.
May 24 23:03:31 mpn82 NetworkManager[1140]: (wlan0): deactivating device (reason: 2).


1.- El firmware se estaba cargando con la versión más actualizada según la página de Intel
May 24 23:03:31 mpn82 kernel: [ 6214.161805] iwlagn 0000:07:00.0: loaded firmware version 228.61.2.24

2.- Por alguna razón la interfaz se estaba apagando luego que cargaba el NetworkManager

Decidí buscar un poco en internet y me conseguí con este reporte de bug en Red Hat que involucraba al NetworkManager, la interfaz wireless y un mensaje de error muy similar al mío.

Probé entonces con:

# rfkill list
0: hp-wifi: Wireless LAN
Soft blocked: yes
Hard blocked: no
2: hp-bluetooth: Bluetooth
Soft blocked: yes
Hard blocked: no
4: phy2: Wireless LAN
Soft blocked: yes
Hard blocked: yes


Jum... phy2 y hp-wifi bloqueados por software, adicionalmente phy2 bloqueado por hardware. Raro, raro.

Hago un:

# rfkill unblock 0 && rfkill unblock 4

Y voilá, volvió a enceder el led de la interfaz inalámbrica e inmediatamente se conectó a internet :D

Cosas tontas pero que te salvan la vida. Espero que les sea de utilidad


El Grupo ActivistasXSL se complace en invitar a su 2do encuentro, en el cual se estará realizando el 1er Foro de Mujeres y Tecnologías de Información Libres, el mismo se estará realizando en la Ciudad de Caracas (Venezuela) los días 14, 15 y 16 de octubre de 2011.

Teniendo presente temas como:
  • Género y alfabetización tecnológica
  • Políticas de difusión de uso/desarrollo de TIC con visión de Género
  • Género y compromiso social en TIC
  • Políticas de formación en TIL con visión de género
De estos temas iremos conversando desde este momento hasta la fecha del evento en mesas de discusión virtual. Las conclusiones de estas mesas de trabajo serán presentadas en plenaria en el marco del foro, el día 16 de octubre.

Así mismo, hacemos la invitación a participar en el concurso para el logo de este evento, pueden leer las condiciones aquí

Mas información del evento aquí

Mi pequeño vacío:

Pretendamos que no nos conocimos,
finjamos que no llevo tus secretos en la piel,
que tus labios nunca encontraron los míos
y que no conoces cada recoveco de mi cuerpo,
porque ya no somos ni seremos.

Ahora, aunque no queda nada;
solo puedo darte las gracias, por el veneno,
por regarme el alma en todas partes
y por arrancarme el dolor de adentro
(fue tan rápido que casi no dolió… casi).

Te dejo ir, así como tu me dejaste ir a mi,
y que se vayan a la mierda las palabras,
finalmente solo son memorias obstinadas.

Ya no lloro más.

Woman Walking Down a Hallway

Escuchando: Sirenia – At Sixes And Sevens

Luego del fiasco de la HP DM1Z decidí comprarme comprarme el equivalente de la marca Lenovo y la verdad es que no me arrepiento. La ThinkPad X120e es la respuesta de Lenovo a las ultra portátiles de bajo costo y alto rendimiento. Con una pantalla de 11.6 pulgadas y un procesador AMD E-350 Fusion de 1.6HGz dual-core, un teclado envidiable por el resto de las netbooks la X120e Lenovo ha logrado hacerme olvidar de mi frustración con mi netbook anterior (la HP DM1Z).

Al igual que la DM1Z, esta ThinkPad ofrece buenos gráficos, larga vida de batería aunque a un costo un poco mas alto. Básicamente estas pagando por calidad. Esta netbook se siente solida, no tiene el problema del trackpad y aunque suene repetitivo, el teclado es comodisimo, aquí les dejo unas fotos de cuando la recibí.

[gallery]

Este seria el resumen de las características técnicas de esta netbook o playbook.

Precio: $399 / $579
CPU 1.6GHz dual-core AMD Fusion E-350
Memoria: RAM 4GB a 667MHz tipo DDR3
Disco Duro: 320GB 7,200rpm
Chipset ID1510 + SB800
Gráficos: AMD Radeon HD 6310
Sistema Operativo Windows 7 Pro. (64-bit). Se puede hacer el upgrade a Linux fácilmente.
Dimensiones: 11.1x8.3 pulgadas
Altura: 0.6-1.2 Pulgadas
Pantalla: 11.6 pulgadas
Peso / Peso con cargador: 1.53 / 1.8 Kilos
Si usando rvm, intentas abrir una consola de Rails (con rails c o con script/console) y te escupe un error como este:

no such file to load -- readline (LoadError)

Entonces sigue estos pasos y resolverás el problema.

Primero, debemos instalar el paquete del readline en rvm (y no en el Sistema Operativo). Para eso removemos la versión actual de Ruby que podamos tener:

$ rvm remove 1.8.7

Instalamos el paquete readline:

$ rvm install package

E instalamos Ruby pero indicándole la ubicación del paquete readline:

$ rvm install 1.8.7 --with-readline-dir=$rvm_path/usr

Acto seguido, entramos a la carpeta en donde rvm almacena los fuentes de las extensiones de Ruby, específicamente del readline. En mi caso:

$ cd ~/.rvm/src/ruby-1.8.7-p302/ext/readline

Luego (como root) instalamos las dependencias necesarias. En Debian sería:

# aptitude update
# aptitude install libreadline5-dev


Procedemos (como usuario) a compilar e instalar la extensión en cuestión:

$ ruby extconf.rb
$ make
$ make install


Y con eso ya deberíamos disfrutar nuevamente de la consola interactiva de Rails sin problemas.