sábado, 30 de outubro de 2010

RailsRumble 2010

Já faz um bom tempo que terminou (foi no final de semana dos dias 16 e 17 de Outubro), mas os resultados ainda estão aí. Participei do RailsRumble convidado pelo @juliogreff. A meta: programar alguma coisa usando RoR em 48h. Detalhe: nem eu, nem ele tínhamos feito nada em Rails antes da equipe Nuby on Rails (que contava com o talento do @rafaelmarin e do @herminiotorres).

A aplicação também foi ideia do Júlio: http://choons.fm. É uma rede social para bons ouvintes (de boa música).


A experiência foi incrivelmente única. Eu não acreditava que a gente conseguiria terminar, mas conseguimos. A estratégia não foi das melhores: Extreme Go Horse (extreme). Talvez por isso o código precise ser refeito... e eu disse talvez... haha

Falando sério, passar 48h programando, dormindo pouco e sob pressão pode não parecer muito divertido, mas o aprendizado no processo foi grande. É muito bom colocar em prática o que foi lido no Caindo na Real (ou Getting Real) - que agora tem nova versão chamada Rework. Acaba dando muita energia para discutir nas reuniões e pra querer mudar o rumo das coisas...

E acontece de às vezes querer pedir demissão, né Júlio?!

Ah, só pra constar: ficamos em 3º lugar (atrás do BeerCheckIn e do Owe Me Cash) na classificação geral, de 180 equipes que conseguiram terminar em 48h, de 300 equipes que se inscreveram. Nada mal para marinheiros de primeira viajem, não?! :)


Então: recomendo pra todo mundo participar, mesmo que não saiba nada de RoR. E mesmo que não consiga terminar a app, o que se aprende vai muito além do código-fonte!

domingo, 3 de outubro de 2010

Primeiros passos com RoR

Comecei a ver RoR seguindo o Getting Started. Tive um problema logo no começo. Foi ao usar o console:

rodolfo@rodolfoNote:~/RoR/blog$ rails console/opt/RoR/ruby/lib/ruby/1.9.1/irb/completion.rb:9:in `require': no such file to load -- readline (LoadError)
from /opt/RoR/ruby/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
from /opt/RoR/ruby/lib/ruby/gems/1.9.1/gems/railties-3.0.0/lib/rails/commands/console.rb:3:in `require'
from /opt/RoR/ruby/lib/ruby/gems/1.9.1/gems/railties-3.0.0/lib/rails/commands/console.rb:3:in `<top (required)>'
from /opt/RoR/ruby/lib/ruby/gems/1.9.1/gems/railties-3.0.0/lib/rails/commands.rb:20:in `require'
from /opt/RoR/ruby/lib/ruby/gems/1.9.1/gems/railties-3.0.0/lib/rails/commands.rb:20:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

A solução foi encontrada em http://snippets.aktagon.com/snippets/57-Solution-to-require-no-such-file-to-load-readline-LoadError-problem, mas a solução não foi suficiente:

root@rodolfoNote:/opt/RoR/src/ruby-1.9.2-p0/ext/readline# ruby extconf.rb 
checking for tgetnum() in -lncurses... yes
checking for readline/readline.h... no
checking for editline/readline.h... no

O script indica que não encontrou o "readline.h". A solução é instalar o pacote libreadline6-dev via apt e repetir o processo. Essa falha não acontecerá se essa lib estiver instalada no momento de compilar o ruby. :)

Depois, é só tocar ficha:

cd /ruby-1.9.2-p0/ext/readline
ruby extconf.rb
make
make install

Por hoje é só. Logo posto mais resultados... :)