Adolfo Sousa

Desenvolvimento de Software

Archive for the ‘ruby’ Category

Emacs - Dicas e Como Começar

with 3 comments

Há alguns meses, resolvi que aprenderia a utilizar alguma outra IDE diferente do Eclipse. Como muitos programadores imersos no mundo Java, eu estava encantado com Ruby e Ruby on Rails e a tendência natural nesta comunidade é utilizar o excelente Textmate. Paguei a licença de 1 ano pra macromates mas não estava confortável porque sabia que no próximo ano teria que desembolsar outros USD 60 ou piratear o software. Minha saída foi buscar alternativas gratuitas. Cheguei a brincar com o VIM por 2 dias e achei fantástico. Entretanto, estava lendo o SICP e uma velha vontade de conhecer o mítico Emacs não me deixava em paz. Resolvi atender minha vontade e dar uma espiada nele. Fiquei apaixonado pelas possibilidades de customização e criação de funcionalidades que esta fantástica ferramenta proporciona, por elisp e também pela produtividade que você ganha quando aprende a se virar sem o mouse.

O Começo

Comecei assistindo ao “Meet Emacs” da PeepCode. Ali aprendi rapidamente o básico e usei como configuração o emacs-starter-kit. Não demorei muito pra querer customizar algumas coisas e, depois de apanhar bastante por conta da bagunça do starter-kit, tomei a decisão de começar o meu projeto de configuração do zero, pegando do starter-kit somente aquilo que me interessava. Foi uma bela diversão. Gastei alguns dias brincando com elisp e terminei com todas as customizações que queria mas com um projeto também bagunçado.

Analisando em retrospectiva, acho que esse seja um bom caminho pra aprender e começar a mexer no Emacs:

  1. Copie as configurações de alguém que você conheça ou acompanhe
  2. Use uma colinha pra não ficar travado. Eu gosto bastante desta aqui
  3. Use por um tempo até ter uma pequena lista das coisas que você quer mudar
  4. Pegue um item por vez e customize à sua maneira
  5. Crie um projeto com as suas configurações

As Minhas Configurações

Como disse anteriormente, cheguei a ter as minhas configurações guardadas num projeto bem bagunçado. Toda vez que precisava customizar ou adicionar um novo plugin ficava um pouco perdido e, às vezes, outra coisa parava de funcionar. Programador nenhum consegue viver com isso, então resolvi fazer uma grande refatoração no meu projeto (você pode acompanhar os meus commits e ver que na verdade foi uma reescrita).

Hoje, estou satisfeito como meu projeto. Ele está organizado, funcionando, elegante, tem a instalação automatizada e é extremamente fácil adicionar um plugin ou alterar alguma configuração. Se quiser utilizá-lo de alguma forma, o projeto está aqui:

http://github.com/adolfosousa/emacs-config

Written by Adolfo Sousa

February 10th, 2010 at 2:23 am

Esqueçam o que eu disse: o RVM é melhor

with one comment

Sei que parece coisa de ex-presidente mas é isto mesmo: por favor, desconsiderem o que eu disse no post anterior.

Depois do comentário do Levy, resolvi instalar o RVM (Ruby Version Manager). Passei o comecinho da noite brincando com ele e realmente é uma opção melhor do que a proposta inicialmente.

Eu tinha a preocupação de ser obrigado a fazer alterações grandes e complicadas no meu bash_profile ou bashrc. Entretanto, a instalação do RVM se mostrou extremamente simples:

Com a ferramenta instalada, é necessário somente adicionar o seguinte ao bash_profile:

A partir de agora, qualquer novo terminal bash (ou zsh) que você abrir terá acesso ao RVM. E para saber como instalar as versões do Ruby ou alternar entre elas:

O projeto está no Github, caso queiram dar uma olhada http://github.com/wayneeseguin/rvm

Written by Adolfo Sousa

January 28th, 2010 at 12:25 am

Posted in automatização, ruby

Tagged with ,

Mais de uma versão do Ruby no Snow Leopard

with 3 comments

Explorar a versão mais recente de um framework ou linguagem é prática comum entre programadores que têm paixão pela sua arte. E este simples gosto pela experimentação exige que tenhamos uma maneira prática e rápida para alternar entre o bleeding edge e outras versões que utilizamos nos nossos projetos. Vou mostrar aqui uma maneira de manter várias versões do Ruby no Snow Leopard (MacOS 10.6.2). A mesma abordagem funciona para o Leopard (MacOS 10.5.8).

O Snow Leopard já vem com o Ruby 1.8.7 instalado em /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr. O meu objetivo é poder alternar facilmente entre o Ruby 1.8.7 e o Ruby 1.9.1. Para tanto, me falta a versão mais nova do Ruby:

Resumidamente, baixamos, descompactamos e configuramos o Ruby 1.9 pra ser instalado na pasta /usr/local/ruby-1.9.1. Para efetivamento instalá-lo na pasta configurada, basta fazer o seguinte:

A execução do comando abaixo indica que já temos o Ruby 1.9.1 instalado e funcionando:

O próximo passo é destruir os links para o Ruby que o Snow Leopard guarda em /usr/bin/

Agora, precisamos criar um link em /usr/local

E depois colocar o nosso novo link no path:

E para alternar facilmente entre as versões existentes, costumo criar aliases que redirecionam o link /usr/local/ruby para a versão que eu desejo utilizar

O resultado:

Esta é somente a forma com que eu lido com o problema de ter mais de uma versão de uma linguagem no meu ambiente de trabalho. Podem existir outras, mas gosto da praticidade e do controle que ganho com esta abordagem.

Written by Adolfo Sousa

December 20th, 2009 at 4:21 pm

Posted in automatização, ruby

Tagged with ,

Sem repetições

with 3 comments

Há uns 2 meses, meu amigo Saroka e eu preparamos uma apresentação para falar de automatização de tarefas. Falamos para um público técnico da Locaweb sobre algumas melhorias que estamos realizando no nosso processo de deploy.

Achei legal registrar aqui pra me lembrar que sempre dá pra automatizar alguma coisa. Toda vez que rodo uma task e economizo meu tempo e paciência, lembro de que é muito bom deixar de fazer tarefas repetitivas. Um ótimo post sobre o assunto foi escrito pelo ‘louco por automatização‘ Guilherme Chapiewski.

Pra quem quiser ver a nossa apresentação no 3o. Locaweb Tech Day, segue um link para o vídeo.

Locaweb - Automatizando suas tarefas usando Capistrano from Locaweb on Vimeo.

Written by Adolfo Sousa

May 22nd, 2009 at 10:11 pm

Posted in automatização, ruby

Tagged with ,

Ano novo, novos e antigos planos

with 2 comments

2009 está aí e nada melhor do que começar o ano com um planejamento bacana. Aí está o meu:

Créditos - Eu usei o FreeMind pra desenhar o meu mapa mental.

Written by Adolfo Sousa

January 2nd, 2009 at 2:59 pm

Review - Why´s Poignant Guide to Ruby

without comments

Acabo de ler o Why´s Poignant Guide to Ruby e só posso dizer uma coisa: o cara é maluco!

Pra quem nunca ouviu falar, o “Poignant Guide” é um livro de introdução à linguagem Ruby escrito por um sujeito misterioso conhecido como Why The Lucky Stiff. É um excelente material para quem está querendo aprender esta linguagem. O livro é divertido, cheio de histórias malucas e engraçadas, tirinhas com personagens doidos e mais um monte de exemplos e explicações muito bons.

Se você se interessar e quiser estudar por ele, precisa saber que não é um livro muito fácil de se ler em inglês. O autor utiliza muitas gírias, expressões idiomáticas, etc. Se o seu inglês ainda não estiver afiado, tem uma galera fazendo uma tradução pro português.

Pra resumir: se você está estudando e/ou se interessa por Ruby, deve ler o livro.

Written by Adolfo Sousa

November 25th, 2008 at 9:13 pm

Posted in livros, ruby

Tagged with ,