Rafael Souza

Just a guy who loves to code

Instalando O RMagick No Ubuntu

Se você estiver com problemas para instalar o RMagick no Ubuntu usando apt-get talvez essa solução possa ajudar. Primeiro, limpe os pacotes com “problemas”:

apt_remove.sh
1
sudo apt-get remove --purge librmagick-ruby-doc librmagick-ruby1.8

depois instale os seguintes pacotes:

apt_install
1
sudo apt-get install libmagick9-dev ruby1.8-dev

depois disso é só instalar a gem:

gem_install.sh
1
sudo gem install rmagick

dica retirada daqui

Nome Da Distro Linux Usada

Uma coisa que eu sempre precisava e nunca me lembrava como fazer era descobrir qual a distro que eu estava usando no momento, como muitas vezes precisei mexer com os mais variados servidores, algumas vezes precisava dessa informação, e hoje achei o jeito mais fácil de fazer isso

cat_issue.sh
1
cat /etc/issue

No meu micro aparece

Liquid error: ClassNotFound: no lexer for alias ‘txt’ found

No do meu colega

Liquid error: ClassNotFound: no lexer for alias ‘txt’ found

Achei essa dica aqui e estou documentando aqui pra não esquecer mais :)

Usando Uma única Instância Do Vim

Hoje quando li o feed de comentários do blog do TaQ (re)apareceu uma dica que ele deu há um bom tempo, sobre usar uma única instância do Vim para editar arquivos, acho muito chato ter que abrir muitos editores.

Porém a dica que ele deu não funcionou para mim, apenas esta dos comentários, que ao invés de usar um alias, usa uma função.

vim.sh
1
2
3
4
# http://www.cyberciti.biz/faq/linux-unix-pass-argument-to-alias-command/
function edit() {
gvim --servername `gvim --serverlist | head -1` --remote-tab "$@";
}

Eu mudei o nome para edit, acho mais fácil, mas fica a critério de cada um :)

Link do codigo original: http://pastebin.com/f7a69dcd7

Bash History Meme

Vi no blog do Luiz Rocha hoje um meme que rolou há um bom tempo atrás e resolvi fazer também.

meme.sh
1
2
3
4
5
6
7
8
9
10
11
[rafael ~]$ history 1000 | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
156 git
101 sudo
86 cd
75 yaourt
58 grep
52 gvim
48 exit
39 braid
36 ll
33 rake

Minha única surpresa foi o braid, considerando que conheci ele faz uma semana e que só utilizo ele em um projeto.

Usando Python E Google App Engine

UPDATE: O controle de versão do GAE não é muito “esperto”, acabei mudando de micro e perdi tudo. Então, o site não existe mais.

No começo do mês recebi a liberação para usar o Google App Engine, foi o que faltava para eu dar uma brincada com Python.

Onde trabalho, toda a tarde rola de alguém ir no mercado comprar uns refrigerantes, mas todo dia era uma “briga” para ver quem ia. Para resolver isso, criamos página simples em PHP que sorteava quem naquele dia ia fazer as compras.

Depois que a minha conta foi liberada, fiquei um bom tempo pensando o que eu poderia fazer para usá-la, e então o Joel deu a idéia, fazer aquela “págininha” em Python e disponibilizar no Google App Engine.

http://eoescolhidofoi.appspot.com/

É simplesmente fantástica a facilidade de se criar uma aplicação e fazer o deploy dela no Google App Engine, o fato de não ter que se preocupar com banco de dados influencia bastante, basta definir modelos no próprio código, pensar apenas em objetos.

Depois dessa primeira eu já criei mais duas, uma está pronta, mas estou testando ainda, a outra está a caminho, mas será para a empresa que trabalho.

Github Theme Para O Vim

Depois de uma busca insana por um editor de texto acabei escolhendo o Vim, estou usando ele direto faz uma semana e estou me adaptando bem, apesar de algumas coisas me deixarem meio perdido (teclas de atalho principalmente).

Eu estava usando o Vim no console, com um tema com fundo escuro, e como estou usando o computador em um lugar muito claro, o reflexo que a minha tela emite fazia com que eu forçasse muito a visão para enxergar o código. Foi então que eu achei isto, um tema usando as cores do Github, instalei e ficou muito bom!

Um detalhe apenas é que a cor do fundo não é a mesma, nos comentários o Felipe Contreras dá a cor certa. Como não achei nenhum fork com a correção, eu mesmo o fiz.

Se você achar que alguma outra cor não está correta, você sabe, fork e pull request :)

Rails Summit, Eu Fui!

Eu sei, eu sei, Rails Summit já foi faz tempo, mas só agora consegui postar alguma coisa aqui no blog.

O evento estava muito bom, muito motivador, palestras como a do Obie Fernandez, do Vinícius Teles e do Chad Fowler me fizeram mudar alguns aspectos na minha vida profissional (motivo pelo qual esse blog ficou um pouco abandonado), estou focando mais em desenvolver alguma coisa do que simplesmente assistir a tudo de braços cruzados. Gmail só o essencial e Google Reader e Twitter são raramente abertos em casa.

No momento networking do evento, reencontrei o Jony e o Tailor, que tinha conhecido no FISL, e conheci mais uma galera legal lá, citando alguns: Júlio Monteiro, Henry Hamon, Evandro Dutra, Rafael Lima, Henrique Bastos, Thiago Pradi, Davis Cabral e mais alguns outros que não me lembro o nome.

Enfim, espero que o ano que vem tenhamos outro evento neste mesmo nível (ou até melhor), que com certeza eu estarei lá.

Nginx: Redirecionando De Um Domínio Para Outro

Semana passada eu resolvi mudar o domínio do blog, usar algo mais pessoal, e acabei escolhendo http://rafaelss.com, mais simples, mais curto, tem meu nome, enfim, muito melhor :)

Mas com isso veio a necessidade de redirecionar do domínio antigo, http://www.joeh.com.br, para o novo.

Isso é muito fácil.

Liquid error: ClassNotFound: no lexer for alias ‘conf’ found

Com isso todos os links que apontam para o domínio velho são redirecionados para o novo, com o permanent ali as buscas se entendem, a indexação não é afetada, e tudo continua funcionando normalmente como era antes.

Solução Simples Para Um Problema Simples

É impressionante como alguns desenvolvedores muitas vezes não procuram uma forma mais simples de fazer certas tarefas do dia-a-dia, um exemplo clássico: Deixar apenas números em uma string, nesse caso, o número de uma agência bancária.

Primeiro a forma que vejo normalmente (em C#)

ugly.csharp
1
2
3
4
string agency = plan.Agency.Replace("-", "");
agency = agency.Replace(".", "");
agency = agency.Replace("/", "");
agency = agency.Replace("", "");

Forma simplificada (C# também)

cool.csharp
1
Regex.Replace(plan.Agency, "[^0-9]+", "");

Não é muito mais simples? Basta procurar! ;)