EnvyCasts #1 - Advanced ActiveRecord

by AkitaOnRails on Aug.27.2008 at 10:04am

Ontem o Gregg Pollack me pediu para fazer um review do primeiro episódio da nova série de screencasts sobre Ruby on Rails que ele e o Jason Seifer estão fazendo. É o Envycasts

Vocês conhecem o Gregg e o Jason dos vídeos humorísticos do RailsEnvy e do famoso podcast RailsEnvy Podcast

“E qual a diferença desse para os famosos PeepCode, RailsCasts e agora os da Pragmatic Programmer?”

Primeiro, o assunto é mais avançado – daí o título “Advanced” ActiveRecord. Segundo, o nível de produção é muito maior do que um screencast. Pense numa palestra virtual onde eles mesmos aparecem e dão as caras. Terceiro, eles usam o recurso do humor para não deixar a bola cair e o pessoal perder interesse no meio do caminho. Um problema com screencasts longos é que eles ficam cansativos. Eu assisti a série toda de Erlang da PragProg, por exemplo e, apesar do conteúdo ser muito bom, me peguei ‘pescando’ na frente do monitor várias vezes pela morosidade do narrador.

Já o pessoal do EnvyCasts usa o bom e velho recurso de chroma-key para se sobreporem aos slides e, dessa forma, eles mesmos aparecerem na tela. Veja a imagem acima para entender o que quero dizer.

Além disso, eles não ficaram no básico “use scaffold, rode migrate e boom!”, eles falam de performance, algumas otimizações, recursos novos do 2.1 como named_scope, más-práticas. Realmente ajudará o pessoal que só seguiu os tutoriais básicos a complementar seus conhecimentos.

Em quase 40 minutos de conteúdo, eles conseguem dar um bom overview sobre aspectos pouco comentados do ActiveRecord e isso é importante pois se fosse algo simples de apenas googlar o video já perderia metade do seu valor.

Por US$ 9 é uma pechincha, altamente recomendado para Railers de qualquer nível, do iniciante ao avançado.

Vulnerabilidade de Denial of Service no REXML - Atualizem seus Rails!

by AkitaOnRails on Aug.23.2008 at 09:42am

O Michael (provavelmente o Koziarski) avisou hoje no Riding Rails que a equipe do ruby-security publicou uma recomendação sobre um bug de DoS afetando usuários de REXML. A maioria das aplicações Rails que recebem input de XML são afetados por essa vulnerabilidade e todos são fortemente recomendados a tomar os passos para mitigar esse problema.

Para resumir:

Rails 2.0.2 e anteriores

  1. Copie este arquivo de correção em RAILS_ROOT/lib
  2. Coloque a linha require ‘rexml-expansion-fix’ no seu config/environment.rb

Rails 2.1.0 e Edge Rails

  • Copie este arquivo de correção em ‘RAILS_ROOT/config/initializers’, isso fará com que esse arquivo seja carregado automaticamente.

Lembrando que: RAILS_ROOT é o seu projeto Rails.

Segundo o Michael essa correção será disponibilizada como gem nas próximas 24 horas para facilitar a distribuição, esse post será atualizado com instruções de upgrade nesse momento. Mesmo assim ainda será necessário fazer o require a partir do seu environment.rb. A gem pode ser reconstruída a partir dos código-fonte caso você tenha uma VPS ou máquina que você mesmo administre. Se estiver numa hospedagem compartilhada execute agora mesmo a correção acima e atualize sua aplicação em produção.

Webcast #3: Deploying Rails na Locaweb

by AkitaOnRails on Aug.22.2008 at 05:25pm

Acabei de gravar o terceiro episódio do Webcast da Locaweb sobre Rails, ao vivo, com uma hora de duração. A gravação já está disponível neste link. Além disso fiquem sempre de olho nos próximos webcasts através do Blog da Locaweb. O legal de participar ao vivo é poder fazer perguntas em tempo real. Eu respondi várias perguntas hoje, espero que tenha conseguido solucioná-las.

Nesse webcast explico como funciona o sistema de deployment na Locaweb para Ruby on Rails e apresento ao vivo o funcionamento da gem akitaonrails-locarails que publiquei esses dias (ainda em fase experimental, portanto nada de abrir chamado para isso, mandem e-mail para mim ou comentem aqui no meu blog).

Ainda mostrei ao vivo o andLinux em funcionamento, mostrando como rodar Linux lado-a-lado com Windows, para aqueles que ainda se vêem obrigados a ter que rodar Windows.

Também falei rapidamente sobre cache no Rails onde mostrei este outro tutorial que publiquei ontem e ainda, num behind-the-scenes vocês viram a conta do akitaonrails.com sendo acessada via ssh :-)

Rails Summit: now really for Latin America!

by AkitaOnRails on Aug.22.2008 at 12:15pm

Rails Summit Latin America

Railers from outside of Brazil, I apologize for the delay but I am proud to announce that now anyone can register for our Rails Summit Latin America event. We just published the English version that accepts international credit cards.

The event will take place at São Paulo, Brazil, on October 15th-16th. The price is BRL 400 (Brazilian Real) but we are offering a promotional price of BRL 300 until September, 9th. We will have several high profile Railers from all over the world such as Chad Fowler, Obie Fernandez, the Phusion Guys, Dr. Nic, Luis Lavena and more!

We will probably provide a spanish text translation for the website later on, but you can register already and rest assured that we will have real time translation from english to spanish for the english speakers. So Brazilians should go here and everybody else should jump right into here

And please, help us promote this great event using the banners provided in the end of the registration page

Rails Summit: Pagamento por Boleto

by AkitaOnRails on Aug.20.2008 at 12:16pm

Pessoal, mais uma novidade: estamos suportanto pagamento por boleto bancário agora para o Rails Summit. Quem não tinha como comprar por cartão de crédito agora tem mais esta opção:

E não se esqueçam, o preço promocional de R$ 300 vai só até 9 de setembro, depois vira para o preço normal de R$ 400.

Vamos lá pessoal, estamos próximos!!

Nova gem: Locarails :-)

by AkitaOnRails on Aug.19.2008 at 09:05pm

Pessoal, eu ainda estou batendo cabeça aqui na Locaweb – no bom sentido. Uma coisa que, como Gerente de Produtos, preciso fazer, é tentar tornar os produtos mais fáceis para os clientes. Então fiquei imaginando como um usuário que ainda não é avançado em Rails poderia tirar proveito da hospedagem da Locaweb sem precisar ter muito medo de errar alguma coisa.

Comecei pensando num tutorial etc. Mas resolvi ir um passo além e rapidamente montar uma nova gem, que chamei de Locarails. Ainda é um pouco crua. Para quem já entende: é um configurador automático de Capistrano. Nesta primeira versão estou usando apenas a estratégia de cópia – sem svn, nem git, por enquanto! Mas para iniciantes, já ajuda!

Só para ter uma idéia, partindo do princípio que você já tem uma aplicação Rails (e está em Linux! Eu não testei isso no Windows ainda!):


gem sources -a http://gems.github.com
sudo gem install akitaonrails-locarails

cd seu_projeto
locarails .
[... responder as questoes ...]
cap deploy:setup
cap deploy

Pronto! Só isso: criou a aplicação, contratou a hospedagem, rodou o locarails e já está online! A única coisa que (ainda) não é automática é apontar o dominio para o diretório, que é feito via Painel de Controle. Mas uma coisa de cada vez :-) Me digam o que acham.

Publiquei um tutorial um pouco maior do que este no Blog de Produtos da Locaweb.

Novo tema do site: RedWhite

by AkitaOnRails on Aug.18.2008 at 02:09am

Eu já estava meio cansado do antigo tema micro-tabbed, ele tinha vários problemas: no IE 7 dava alguns desajustes nos boxes, no IE 6 quebrava completamente, o design era pouco flexível. O maior problema é que, diferente do famoso Wordpress, o pobre Mephisto tem muito pouco tema para ele.

Pois bem, resolvi botar a mão na massa: como não estava a fim de migrar para Wordpress, só me restava tentar converter um tema de Wordpress para Mephisto! Foi o que eu fiz: fui Google afora procurando por temas de Wordpress que fossem bonitos, limpos e compatíveis com a maioria dos browsers. Nessa procura cruzei com o RedWhite. Baixei os phps e montei um tema de Mephisto equivalente.

Devo dizer que foi mais fácil do que pensei, eu devo ter levado umas 3 horas para ajustar o grosso. Mas infelizmente não tem uma receita que seja possível automatizar ainda, tem que ser no “olho” mesmo. Entendendo como funciona a estrutura do Mephisto, vocês vão ver que ele equivale à estrutura do Wordpress, pelo menos na questão de temas. É necessário entender um pouco de Liquid também. Mas nada que um bom Railer não consiga fazer, de repente é até um bom exercício para os iniciantes: montar um blog em Mephisto e tentar migrar um tema de Wordpress para ele.

E então, o que acharam desse novo design? :-)

Mais Iniciativas Brasileiras

by AkitaOnRails on Aug.17.2008 at 01:52pm

O Carlos Eduardo, da e-Genial, está desenvolvendo uma nova plataforma de cursos on-line, que visa também suprir a demanda e procura por outros assuntos não ligados a Flex e Ruby on Rails.

Então criaram um breve questionário de 3 questões para receber o feedback do pessoal, para que possamos em seguida lançar os cursos em ordem de prioridade. Ele conta com seu apoio! Para colaborar basta acessar este link.

Outra grande notícia foi dada pelo André Fonseca, da Dito – Idéias & Soluções. Parece que está quase confirmado para os dias 20 e 21 de setembro a segunda edição do Minas on Rails.

Ronaldo Ferraz, Carlos Brando, Tapajos, Manoel Lemos, Vinicius Teles entre outros feras brasileiros já foram convidados e devem ser presença garantida. Segundo o André:

Assim que tivermos mais informações sobre o evento eu aviso aqui na lista. Quem tiver oportunidade de vir a Belo Horizonte será um prazer recebê-los.

Duas excelentes iniciativas da comunidade brasileira. Muita gente vive me perguntando sobre cursos, pois bem, é hora de apoiar o Carlos Eduardo. Além disso, muita gente fala da pouca quantidade de eventos, pois bem, além do Rails Summit, eis o Minas on Rails. Espero que não só o pessoal de BH, mas quem mais puder comparecer, marque presença nesse evento!

Happy Hour de Railers de Sampa

by AkitaOnRails on Aug.15.2008 at 05:22pm

Pessoal, vamos marcar um Happy Hour de Railers de Sampa? Estou para propôr algo assim faz algum tempo. Será algo informal, não necessariamente um evento de programação. Será mais pra gente se conhecer, trocar idéias, falar de Ruby, Rails e afins.

Já falei com o Manoel Lemos – que prometeu tentar ir :-), o Fabio Kung também, o George Guimarães, o Carlos Brando. Vamos lá, todos que são blogueiros, programadores ou que apenas gostam de sair e conversar.

Vamos nos encontrar, no bom e velho Bar do Juarez, para um happy hour na sexta-feira que vem, dia 22 de agosto, a partir das 19hs. O endereço é Av. Juscelino Kubitschek, 1164 esquina com a Rua Atílio Inocenti, 303 (a rua das baladinhas da Vila Olímpia, acho que todos conhecem :-) Me procurem no segundo andar.

E aí? Quem vai? Comentem aqui no post. Valeu!

Lançados: novos Ruby Enterprise Edition e Passenger

by AkitaOnRails on Aug.10.2008 at 01:27pm

Eu estava conversando com o Hongli Lai sobre isso esse fim de semana, e ele publicou hoje como tinha me dito: um novo Ruby Enterprise Edition

Vocês vão se lembrar que quando surgiu a primeira leva de vulnerabilidades recentes, tivemos o seguinte problema: se você atualizasse para o patchlevel com as correções, corria o risco de ter suas aplicações quebrando, pois esse patchlevel não era 100% compatível com o 1.8.6-p114 que estávamos acostumados.

O que aconteceu foi que cada distro teve que fazer o backport apenas das correções de segurança de volta para o patchlevel 114. A Phusion™ foi uma das que fizeram o fork e o backport. Agora, foi descoberta mais uma vulnerabilidade, conforme reportado pelo Peter Cooper.

A correção está no patchlevel oficial 286 (ou patchlevel 70, no caso do 1.8.7). Será que vamos ter o mesmo problema? Foi o que indaguei com o Hongli e pelo visto ele também ficou curioso.

Ele testou o patchlevel 286 contra várias suítes de teste, incluindo a do RubySpec e deles próprio, e a conclusão foi que o patchlevel 286, ao contrário do desastrado 114, está sim estável. Portanto as distros podem retornar a acompanhar o branch oficial a partir desse patchlevel sem problemas. A Phusion™ fez isso e já lançou o Enterprise Editon baseado nesse branch.

Eu estou, inclusive, usando o Enterprise Edition como meu Ruby padrão no meu Mac e até agora tudo funcionou muito bem.

Fora isso, semana passada a Phusion™ tinha lançado o Passenger™ 2.0.3. Tem pequenas correções de bugs e algumas pequenas otimizações. Claro, a Locaweb já está instalando essas novas atualizações em todas as suas máquinas ;-)

Brazilian Rails Blogs

by AkitaOnRails on Aug.08.2008 at 08:37pm

Depois de listar alguns dos Sites e Projetos Open Source brasileiros, finalmente é a vez dos blogs. Blogueiros: start your engines! Na lista Rails-br perguntei quem tem blogs e além disso aproveitei o trabalho do Paulo Lins, que publicou uma lista na Rubyonbr.

Eu filtrei, usei o bom e velho Hpricot (alguns snippets aqui) para atualizar os títulos e feeds e para determinar qual está fora ou inválido. Totalizou 58 blogs com feeds.

Abaixo segue uma lista e você ainda pode fazer download do arquivo OPML para ficar fácil importar no seu feed reader (como o Google Reader) favorito e ficar de olho na blogosfera brasileira de Rails.

E não esqueçam de ajudar na divulgação do Rails Summit Latin America colocando os diversos banners e stickers no seu próprio blog! ;-)

Vejam a lista:

LocawebCast + França! :-)

by AkitaOnRails on Aug.07.2008 at 04:53pm

Eu sei, eu sei, título meio nada a ver mas só para anunciar duas notícias diferentes no mesmo post :-)

Primeiro, eu esqueci (sorry) de publicar a segunda parte do Webcast de Rails no Windows que fiz na Locaweb. O link é este. Só se lembrem de desligar o bloqueador de pop-up do seu browser, ou de autorizar essa URL.

Segundo, o Pierre Yager traduziu meu tutorial de Rails 2.1 para francês! Aqui vai a Parte 1 e Parte 2

Continuo na correria, melhorando nossa offering de Rails aqui na Locaweb, um monte de coisas a se fazer para o Rails Summit. Inclusive, quem se inscreveu e ainda não recebeu e-mail, não se preocupe: vocês vão receber provavelmente a partir da semana que vem (provavelmente segunda-feira) mesmo.

Rails Summit na Linux Magazine!

by AkitaOnRails on Aug.06.2008 at 12:03pm

Esta semana saiu na bancas o primeiro anúncio impresso da Rails Summit Latin America na Linux Magazine !! Dêem uma olhada:

Vamos participar pessoal! :-)

Ruby on Rails em produção na Locaweb!

by AkitaOnRails on Aug.05.2008 at 07:29pm

Galera, vocês sabem que estamos há algum tempo com o Trial de Rails aqui na Locaweb. Como eu disse antes o principal é que meu objetivo não é só oferecer produtos: graças aos esforços da Phusion, isso ficou muito mais fácil agora para todos nós. O objetivo é auxiliar o mercado Rails a realmente ganhar asas.

Sexta-feira passada, colocamos o site de registro para o Rails Summit Latin America e agora estamos finalmente lançando o suporte oficial a Ruby on Rails na Locaweb!

Sim, é com Passenger + Ruby Enterprise Edition, temos mais de 430 RubyGems pré-instaladas, se existir mais que são importantes por favor nos digam que podemos considerar colocar, mas vocês também sabem que é possível congelar as gems localmente no seu projeto Rails. Mais do que isso: nós temos suporte a múltiplas aplicações Rails na mesma hospedagem !!

Para entender como colocar suas aplicações Rails na hospedagem da Locaweb, veja este post que acabei de publicar com as instruções!

Não existe empresa de hosting mais comprometida com Ruby on Rails do que nós, isso eu garanto. E, claro, meu e-mail continua aberto para quaisquer dúvidas. Não deixem de entrar em contato: fabio.akita@locaweb.com.br

Utilidade Pública: meu livro para download em pdf??

by AkitaOnRails on Aug.03.2008 at 01:38pm

Serviço de utilidade pública: tomem cuidado galera. Parece que meu livro “Repensando a Web com Rails” está sendo usado de pretexto para espalhar mais um viruszinho por e-mail, eu também recebi esse e-mail. Obviamente, como todo mundo já sabe, nunca baixe coisas de onde vocë não conhece, principalmente se estiver num Windows! Veja mais detalhes no post do Luis Carvalho

Pelo que o Luis analisou, esse virus é fruto de alguém muito, muito, muito basicão. Altamente ingênuo, completamente mal feito, do tipo que não enganaria nem a minha avó (talvez a mãe dele). Literalmente fruto de um script-kid sem futuro, sem namorada, sem absolutamente nada de útil para fazer pois sua vida já não deve valer muita coisa mesmo, do tipo que devemos ridicularizar como passatempo de bar :-D

Não é o “ponto fora da curva” é a “margem de erro” da população, que não deveria ter existido mas por um erro estatístico ainda está por aí. Anônimos como esse, por definição, devem ser ridicularizados porque são a definição do que é ser um galinha. Do tipo que se a gente fala um pouco mais alto, sai correndo chorar atrás da saia da mãezinha. – ah, agora me sinto melhor :-)

Ah sim, existem dois motivos para alguém usar meu livro: para direcionar a comunidade Rails em específico (como se nós fôssemos ingênuos assim como ele), ou para tentar me provocar diretamente. Porém, do meu lado não cheira nem fede: como muitos de vocês sabem, eu não ganho nada pela venda desse livro. Foi um trabalho que fiz para ajudar a comunidade. Eu cedi os direitos autorais com o objetivo de baratear os custos ao leitor. Portanto, se o objetivo foi esse, o tiro saiu pela culatra.

Rails Summit Latin America
Recommend me at Working with Rails
Vote no Rails Podcast Brasil!
Leia a tradução do livro Getting Real
Peepcode Supports AkitaOnRails.com
Compre Repensando a Web com Rails