ArthurGeek.net

Rails, Mac... e Rock'n Roll!

Baía de Caraguatatuba

Dreamhost + mod_rails

13 de Maio de 2008 às 18:37 · 0 comentários

O pessoal da Dreamhost anunciou hoje que todos clientes tem suporte para o mod_rails.

Resolvi migrar esse blog para o mod_rails, então, se alguma coisa de estranho aparecer por aqui, me avisem, pode ser isso. :)

Espero que o blog fique mais responsivo do que antes e não caia tanto também.

Boa sorte pro pessoal da Dreamhost e que eles possam resolver o ‘maior’ problema deles e de outros SharedHosts. :)

Nenhum comentário Tags:··

*nix history Meme

13 de Maio de 2008 às 18:22 · 1 comentário

Nunca participei de um Meme. E por pura falta de tempo só hoje vi o post do Urubatan me convidando pra participar de um. (a falta de tempo também é um dos motivos por não ter saído mais screencasts de Git. Mas, eu ainda não esqueci deles, eles estão gravados, e eu vou tentar colocar o áudio essa semana ainda. Sério! :P). Achei o Meme interessante e resolvi entrar na brincadeira.

Bom, então vamos lá: a idéia é mostrar os comandos mais usados em nossas máquinas (no meu caso: Mac OS X).

Rodando o comando:

history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head

Eis o putput:

arthurgeek@GeekMac:~$ history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
219 git
40 cd
29 mate
23 ls
20 rake
20 ssh
20 ./script/server
19 ./script/generate
13 ./script/console
11 cap
arthurgeek@GeekMac:~$

É, deu pra perceber que eu uso muito o GIT, TextMate, SSH, Scripts Rails e Capistrano. :)

Esse negócio de Meme tem que indicar outras pessoas, é? Ah, vou fazer isso não! :P

Então, quem quiser entrar na brincadeira também, coloque um comentário aqui ou escreva um post no seu blog. :)

1 comentário Tags:·

Voltando com tudo?

03 de Abril de 2008 às 12:38 · 2 comentários

Estava preparando a volta do blog com uma série de screencasts sobre o Git. O primeiro você pode baixar aqui.

Depois que me mudei para São Paulo no ano passado, o blog ficou parado. Primeiro eu não tinha internet aqui, depois, tinha internet, mas o MacBook atrasou mais de meses para chegar. E sem falar no problema maior: o tempo! :)

Quando tive a idéia de gravar esses screencasts, ainda no ano passado, não imaginava o trabalho que é! Gravar o vídeo, editá-lo, depois gravar a voz (mais trabalhoso ainda), fazer a edição final e depois, convertê-lo. Ufa!

Espero que os próximos screencasts não demorem tanto quanto esse primeiro. Por falar em demora, só resolvi gravar o áudio desse primeiro screencast depois que DHH anunciou que o Rails tá movendo do Subversion pro Git. Foi o empurrão que faltava pra gravar esse áudio. :)

Espero que vocês gostem do Screencast, e quero receber bastante críticas.

Ah, só não reparem muito no meu sotaque do interiorrr. ;)

2 comentários Tags:·

Screencast: Git - Compilando e Configurando

03 de Abril de 2008 às 11:51 · 8 comentários

A idéia veio no ano passado. O vídeo foi gravado há mais de um mês. Mas o áudio só foi gravado ontem mesmo. Depois de alguma demora, aqui está o primeiro, de muitos, screencasts gravado por mim:

Git – Compilando e Configurando

Você já deve ter ouvido falar do Subversion, não? E do Git? O Git é um sistema de controle de versões escrito por Linus Torvalds para controlar todo o código fonte do Kernel do Linux. Não vou explicar em maiores detalhes o que é o Git, para isso, procure no google.

Nesse screencast eu mostro como compilar o Git à partir do código fonte, configurá-lo e também mostro algumas funcionalidades bem básicas. Este é o primeiro Screencast de uma série sobre Git que eu pretendo fazer. Este primeiro é para iniciantes, mas também farei outros mais avançados com muitas dicas.

Download (43.6Mb, 7:47)

8 comentários Tags:·

RubyGems 1.1 no Mac OS X 10.5.2 Leopard

31 de MarAo de 2008 às 17:37 · 1 comentário

No sábado, saiu a nova versão do RubyGems, o gerenciador de pacotes do mundo Ruby.

Para atualizar, é só rodar o comando:

sudo gem update --system

Pronto! Só que, aqui no Mac OS X, ele instala a nova versão, mas o comando gem ainda aponta para a versão antiga:

$ gem -v
1.1.0
$

Talvez seja porquê o RubyGems agora é incluído por padrão no Leopard. Porém, eu queria desfrutar da velocidade para instalar novas gems que a versão 1.1 possui. Aqui vai uma solução:

$ sudo gem install rubygems-update
$ sudo update_rubygems

Funciona! Para aqueles que não necessitam da versão 1.1 com urgência, recomendo esperar um update da Apple (que pode demorar).

1 comentário Tags:···

RejectConf'07

19 de Novembro de 2007 às 18:54 · 1 comentário

Neste final de semana aconteceu o RejectConf’07. Muitas palestras e cases de sucesso. Mas com certeza o melhor foi finalmente poder conhecer a galera da comunidade Ruby/Rails pessoalmente. Akita, Carlos Brando, Eduardo Fiorezi, o pessoal do Pagestackr, entre outros feras. Agora precisamos marcar um “Nerds On Beer” com essa galera para trocarmos mais idéias.

E que venha a RailsConf Brasil! ;)

1 comentário Tags:··

Inatividade

14 de Novembro de 2007 às 12:58 · 0 comentários

Ultimamente o blog está muito parado. Quem acompanha meu twitter já sabe o motivo: me mudei para São Paulo no começo de Novembro.

Ainda tenho alguns rascunhos de artigos para terminar, espero fazer isto quando tiver um tempo.

O blog deverá ficar mais um pouco parado, pelo menos, até conseguir uma conexão à internet “em casa”.

Nenhum comentário Tags:

Edge migrations mais sexy

04 de Outubro de 2007 às 10:51 · 1 comentário

Um plugin que eu costumava usar muito era o Sexy Migrations. Era, pois uma sintaxe inspirada nele foi adicionado ao Rails Edge.

Agora que estou usando o Edge em alguns projetos meus, sinto falta do foreign_key (ou simplesmente fkey) que usava no Sexy Migrations e não está presente no Edge. Por isso, criei um patch que adiciona o suporte à foreign_key na sintaxe das migrations.

Então, onde você escrevia (com o Edge):

create_table :user do |t|
    t.integer :country_id
    [....]
end

Poderá escrever assim:

create_table :user do |t|
    t.foreign_key :country
    [....]
end

É uma mudança sutil, porém, útil.

Para ele fazer parte do Rails 2.0 é preciso que pelo menos 3 pessoas testem-no e comentem com um simples +1, de acordo com as novas regras para que um patch seja aceito no Rails.

Se você gostou da idéia, dê uma passadinha lá no ticket, aplique o patch e vote. :)

Update: O Patch agora faz parte do Rails 2.0. Com algumas modificações e novas funcionalidades.

Para começar, “t.foreign_key” virou “t.references” com alias para “t.belongs_to. E foi adicionado também uma opção => true” que cria a coluna com _type no final.

Finalizando, se antes você escrevia assim (com o Rails Edge):

create_table :taggings do |t|
  t.integer :tag_id, :tagger_id, :taggable_id 
  t.string  :tagger_type 
  t.string  :taggable_type, :default => 'Photo' 
end

Agora passa a escrever assim:

create_table :taggings do |t| 
  t.references :tag 
  t.references :tagger, :polymorphic => true 
  t.references :taggable, :polymorphic => { :default => 'Photo' } 
end

1 comentário Tags:···

Edge Rails

26 de Setembro de 2007 às 11:26 · 0 comentários

Você tem acompanhado as mudanças do Edge Rails, e quer testá-las naquele projeto que está começando?

Fácil, é só digitar no terminal:

rails myapp
cd myapp
rake rails:freeze:edge
# e se você for sortudo e tiver o textmate :)
mate myapp

Certo? Não, errado! Infelizmente, estes comandos não atualizam sua app para o Edge (é engraçado, mas estes comandos funcionam em algumas máquinas e na grande maioria não). Como saber se você está rodando o Edge? Verifique a pasta config, tem uma pasta initializers dentro dela? Se estiver rodando o edge tem que ter. Então, o que fazer para rodar o edge rails de verdade?

No Edge de verdade

Você precisa usar o comando rails de dentro do edge para gerar seu novo projeto.

cd ..
ruby myapp/vendor/rails/railties/bin/rails myapp_edgier
# e se você for sortudo e tiver o textmate :)
mate myapp_edgier

Agora verifique a pasta config. Hmm, legal! Aproveite e dê uma olhada na nova estrutura do environment.rb. Observe também que a pasta components não é mais criada.

Ok, agora você já está rodando um projeto no Edge, e resolveu criar mais um projeto. Vamos melhorar um pouco o processo. De volta ao terminal:

cd ~
svn co http://svn.rubyonrails.org/rails/trunk rails_edge
ruby ~/rails_edge/railties/bin/rails my_second_edgier_app
cd my_second_edgier_app/
# Você ainda precisa ter o edge rails dentro de sua aplicação
ln -s ~/rails_edge/ vendor/rails
# e se você for sortudo e tiver o textmate :)
mate .

Dessa maneira, você pode manter várias aplicações rodando o Edge, e atualizar o código em um local apenas. Quando você notar alguma mudança no Edge, rode:

cd ~/rails_edge
svn up

Um pouco de shell script

Vamos criar uma função em shell script para gerar novas aplicações já usando o Edge

mate ~/.bash_profile

Coloque a seguinte função no seu profile:

function edgie() { 
  ruby ~/rails_edge/railties/bin/rails $1 && cd $1 && ln -s ~/rails/trunk vendor/rails && mate . 
}

Atualizando nosso profile:

source ~/.bash_profile

Pronto! Agora você pode rodar:

edgie my_edge_app

Boa diversão com o Edge Rails! :)

Fonte: RailsTips: Even Edgier Than Edge Rails

Nenhum comentário Tags:·

Ok, eu me rendo!

30 de Agosto de 2007 às 11:20 · 0 comentários

Depois de ter escrito o post anterior, tenho usado bastante meu Tumblr. E tenho acompanhado o Twitter:”http://twitter.com/” de algumas pessoas.

Acho que agora eu pude “enxergar a luz” do Twitter.

Ok, a frase que vocês estavam esperando vem agora: Eu me rendo ao Twitter!

Mas, não vou parar de usar o Tumblr não! Percebi, que para simples pensamentos e conversas, o Twitter serve muito bem! Já, imagens, vídeos, links, etc, tudo isso vai pro Tumblr. Resumindo: tudo aquilo que for pensamento meu, postarei no Twitter, e tudo aquilo que for algum conteúdo que não é meu (links, citações, imagens, vídeos) vão pro Tumblr.

Ah, o fato de ter começado a usar a integração com o GTalk do Twitter realmente pesou muito. Meu IM fica aberto o tempo todo mesmo. :)

Nenhum comentário Tags:··

Twitter, TumbleLogs e afins

28 de Agosto de 2007 às 10:43 · 1 comentário

Ando vendo na Blogosfera brasileira um grande número de pessoas usando o Twitter. Para mim, assim como o Second Life (mas isso é assunto para outro post) isto não passa de um grande hype que não vai durar muito tempo.

Sério! Não consigo entender qual a graça de usar um sistema que tem um limite de caracteres muito baixo, não deixa postar vídeos (YouTube), imagens, etc. Neste sentido, TumbleLogs são muito mais interassantes, mais “ricos”.

Eu ando meio sem tempo de escrever por aqui (vocês devem ter percebidos). E não teria tempo de atualizar um Twitter ou um TumbleLog no tumblr.. Porém, não deixo de ler meus feeds (usando o Google Reader, é claro) todos os dias. Então, resolvi fazer como o Robert Scoble e seu famoso Link Blog.

A partir de agora, sempre que achar algum texto interessante, irei compartilhar no Google Reader. Vocês podem acessar através do link Link Blog no menu acima. É um “algo” a mais além dos links diários do del.icio.us que incluo no Feed (a propósito, vocês acham interessante manter isto no Feed, ou não?).

E para tudo aquilo em que não encontro via Google Reader? (o Digg é minha página principal). Acredito que conteúdo (links, imagens, vídeos) desse tipo serão menos frequentes, então, criei uma conta no Tumblr..

Talvez eu deixe o blog um pouco de lado com isso. Ou melhor: vou criar um script Ruby que agrega os feeds do del.icio.us, do Link Blog, deste blog e do Tumblr.. Mas isso eu deixo para quando tiver mais conteúdo no Link Blog e no Tumblr.

Update: Parece que o Tumblr já tem opção para agregar vários feeds. Vou testar o serviço, e quem sabe, vou usar até o serviço de usar meu próprio domínio como interface para o Tumblr. Interessante!

1 comentário Tags:···

CodeShow

13 de Agosto de 2007 às 12:52 · 0 comentários

Sexta feira estarei no CodeShow. Se você estiver por lá, me chame para batermos um papo. ;)

Nenhum comentário Tags:

Daniel Robbins e a Fundação Gentoo

31 de Julho de 2007 às 15:58 · 1 comentário

Retirado de: Daniel Robbins e a revolução de bastidores no Projeto Gentoo

Daniel Robbins, o fundador do projeto Gentoo, tem um histórico curioso de relacionamento com o projeto: ele abriu mão voluntariamente do papel de líder do projeto em prol de uma fundação integrada por outros participantes, em seguida abriu mão de participar do Gentoo, meses depois tornou-se funcionário da Microsoft durante um curto período, após sair de lá retornou ao Gentoo como desenvolvedor, e saiu insatisfeito novamente em março deste ano.

Eu usei o Gentoo por muito tempo. Adorava o fato de poder customizar ao máximo minha distro e principalmente estar sempre com as últimas versões dos programas (Adoro viver “on edge”). Porém, não gostava do imenso tempo que demorava para compilar um OpenOffice, Firefox, etc.

Enquanto eu usava Gentoo, o que mais gostava era a comunidade, sempre muito prestativa nos fórums ou via IRC. Acontece, que de uns tempos pra cá eu percebi que o projeto parecia meio abandonado. Nem a GWN (Gentoo Weekly News) era atualizada! Parece que a comunidade tinha ficado muito “politizada” para o meu gosto. Quem me garante que se o Robbins voltar, a comunidade voltará a ser como era antes? Eu acredito que não! Sem falar que “ninguém quer ele lá”.

Nos tempos do Robbins, eu achava que os ebuilds não demoravam a sair. Nos meus últimos meses com Gentoo, cheguei a esperar meses por ebuilds da nova versão do Gnome. O que me levou ao Gentoo, fora isso, oras! Não esperar por muito tempo para estar com as últimas versões dos softwares (estáveis ou não) em minha máquina.

Foi aí que eu migrei para o Arch Linux.

Não fiquei muito tempo, pois me apaixonei pela maçã. Mas, se o OS X não fosse um *nix “por baixo”, não sei se usaria não. Não consigo ficar sem as ferramentas de um *nix.

1 comentário Tags:···

Não posso usar o logotipo do Rails?

25 de Julho de 2007 às 10:18 · 1 comentário

O Carlos Brando levantou uma questão que, acredito eu, não deve ser do conhecimento de muitos: Quem disse que você podia usar o logotipo do Rails?.

Bom, há um tempo atrás eu me interessei em fazer camisetas com o logo do Rails. E, eu sabia sobre o copyright, então, entrei em contato com o DHH, pedindo autorização para uso do mesmo.

Segue meu e-mail:

Hi David!

I’m a Brazilian Rails developer.

Next month I’ll be teaching a RoR training in a local university, and I want permission to make some RoR T-Shirts. Can I use the logo on those t-shirts?

If yes, there’s a high-resolution available somewhere in the net?

Thanks in advance,

Arthur Zapparoli http://www.arthurgeek.net

E a resposta do DHH:

As long as you don’t sell them, it’s ok. http://wiki.rubyonrails.org/rails/pages/RubyOnRailsMedia

Como o próprio DHH comentou , casos como esse, não são exclusividade do Rails. Muitos projetos Open Source tem seu logo como marca registrada. O DHH menciona o MySQL, JBoss, e eu menciono um caso mais “famoso” como o do Firefox vs Debian que resultou no fork Iceweasel.

O comentário do DHH:

The use of the logo is restricted as it always is when talking about a trademark. When the logo is used in a commercial setting, such as part of the promotion of a book, it legally requires that the trademark holder has been involved and stands behind the quality of the book. If that’s not the case, you’re on the way to lose your trademark.

So I only grant promotional use for products I’m directly involved with. Such as books that I’ve been part of the development process for or conferences where I have a say in the execution.

I simply don’t have the time (or, frankly, the inclination) to be intimately involved with every book being written about Rails.

Isso faz do DHH um “bad guy”? Eu não acho! Pode ser ruim para a divulgação de livros sobre Rails? Pode até ser que sim, mas preste atenção nos livros da O’Reilly, a maioria não usam o logo na capa.

O DHH tem que se preocupar com toda a qualidade de qualquer material que use o nome e o logo do Rails. E isso, não é bom somente para o DHH, e sim, para toda a comunidade.

O Carlos menciona o fato de ter sempre que pedir permissão à uma pessoa apenas. Sobre isso, eu acho, que poderia ser criado uma “Rails Foundation” que passaria a ter o copyright sobre o logo, e os nomes. E os membros dessa fundação analisariam dar permissão sobre o uso do logo. Acho que seria uma boa solução, adotada em alguns projetos como o Mozilla e o Gentoo.

Ah, e sobre as camisetas: o curso acabou não dando certo (não fechamos uma turma com o mínimo de alunos necessários), então, não fiz a camiseta. Ainda. Mas, eu ainda estou interessado. :)

1 comentário Tags:··

Mostrando a Colocação do Brasil no Pan 2007, usando Ruby!

17 de Julho de 2007 às 11:57 · 4 comentários

Como estou no trabalho, e por aqui não tem uma TV por perto, estava acessando demais o quadro de medalhas do Terra. Então, pensei: porque não fazer um programinha Ruby que me retornasse a colocação e as medalhas do Brasil?

Então, mãos à obra!

Continue lendo...

4 comentários Tags:··