Acabei de ler este artigo no blog Softies on Rails, e resolvi traduzí-lo. Sabe quando você conhece determinada função, e mesmo sabendo que ela é útil, nunca usa? É preciso ler um artigo pra “cair em si”, não é?. Então, este artigo é um deles. Pelo menos foi pra mim.

Continue lendo…

O pessoal do RailsEnvy criaram 4 comerciais sobre Rails, ao estilo, da excelente campanha Get a Mac da Apple.

Eles vão lançar um à cada dia que antecede a abertura da RailsConf desse ano, então, ontem foi dia de RoR vs Java:

E hoje, foi dia de RoR vs PHP:

Os comerciais ficaram muito bons, fiquem ligados nos próximos, que serão “contra” o PHP também.

Bem que podiam fazer um RoR vs Python (nada contra a linguagem, afinal, Ruby e Python são as linguagens que mais me interessam hoje em dia :) )

Feed 89 FM - 13/05/07

Depois que eu comecei a usar FeedReaders online (primeiro usei o Bloglines agora migrei para o Google Reader) nunca mais visitei qualquer site para ir atrás de notícias, quer dizer, visitava apenas um: o site da 89 FM.

Sempre pensei em criar um feed para a seção Notas Musicais do site. Só que nunca fui atrás, por pura falta de tempo em procurar por bibliotecas que fizessem o Parsing em HTML, tanto em Python ou PHP.

Depois de conhecer Ruby, pensei em perder um tempinho, procurando alguma biblioteca que fizesse o Parsing HTML, e depois, construir o feed RSS. Fazer o Feed seria a parte mais fácil, graças à biblioteca Builder usada para gerar arquivos XML.

O parsing ficaria à cargo da excelente Hpricot. Porém, encontrei uma outra biblioteca, chamada Feedalizer que usa a Hpricot para criar feeds RSS. Menos trabalho que isso, impossível!

Então, aqui vai o código usada para gerar o feed da página:

#!/usr/bin/env ruby
 
require "rubygems"
require "feedalizer"
require "time"
 
rss = File.new("arthurgeek.net/89.xml","w")
 
feedalize("http://www.89fm.com.br/notas/") do
  feed.title = "89 FM Notas"
  feed.about = "..."
  feed.description = "Notícias do mundo musical da 89FM"
 
  scrape_items("a.formtextobranco") do |rss_item, html_element|
    rss_item.link  = "http://www.89fm.com.br" + html_element.attributes["href"]
    rss_item.date  = Time.parse(html_element.to_s)
    rss_item.title = html_element.inner_html
 
    rss_item.description = html_element.inner_html
  end
 
  output! rss
end
 
rss.close

O arquivo do feed está disponível aqui e já estou usando-o há mais de 2 meses, e acredito, que não tem mais bugs, e pode agora, ser usado por qualquer um.

Ah, como eu gosto desta linguagem…

[Update: Hoje em dia, o método preferido para deploy Rails + Apache é usando o Phusion Passenger, também conhecido como mod_rails. Para aprender como fazer um deploy com o mod_rails, leia este excelente artigo do Nando Vieira. :)]

Como eu havia dito, não achei artigos em português explicando como fazer o deploy de aplicações Rails usando mod_proxy_balancer e mongrel_cluster, por isso resolvi escrever um.

Os comandos a seguir foram testados em um Ubuntu 7.04 Server Edition, mas devem servir para qualquer distro Debian-based.

Será necessário ter instalado os seguintes programas:

  • Apache 2.2.x
  • mod_proxy_balancer
  • mongrel
  • mongrel_cluster
  • Ruby
  • Rails

Continue lendo…

Vergonha na cara - 11/05/07

Resolvi tomar vergonha na cara e começar o Blog esse final de semana.

Um amigo meu queria colocar uma aplicação Rails em produção com Apache + mod_proxy + Mongrel, e não encontrou nenhum tutorial sobre isso em português, então, resolvi escrever um para inaugurar o blog.

Aguardem! ;)