Add new comment

4
Oct

Pequena dica de produtividade para programadores

Motivação: builds e compilações gigantes às vezes são inevitáveis (especialmente, mas não somente, com o Maven!). E nessa situação, nem sempre é possível trabalhar em outra coisa, então a gente acaba matando o tempo do jeito que dá... olhando Facebook, ou...

Titinha clássica do XKCD (http://www.xkcd.com/303/)

Muitas vezes acontece que quando a épica luta de espadas termina, o build já terminou há bastante tempo.

Problema: como voltar ao trabalho assim que a compilação terminar?

Bom, eis aqui minha solução:

crie o arquivo /usr/local/bin/alarm com o seguinte conteúdo:

exit_status=$?
if [ $exit_status -eq 0 ] ; then
  cvlc /path/to/success_music.mp3
else
  cvlc path/to/fail_music.mp3
fi

Não se esqueça de dar permissão de execução arquivo (sudo chmod +x alarm) e substituir os paths por músicas existentes em sua máquina! : )

Esse script toca uma música dependeno do "exit status" do comando anterior. O exist status é um código retornado por todo programa que indica se ele terminou em sucesso ou não. Quando ele retorna zero, quer dizer que tá tudo certo (é o famoso "return 0" dos programa em C!). Quando é diferente de zero, deu algo errado. cvlc é o programa utilizado pra tocar a música: é o VLC sem interface gráfica.

Aí pra compilar seu projeto vc faz assim:

$ comando_de_build; source alarm

Note que esse "source" é importante! Não sei explicar muito bem, hehe, mas sem ele o script abre uma nova instância do bash que desconhece o último exit status de seu pai.

Agora que você já fez sua pausa lendo meu post, pode voltar ao trabalho! ( :

Leonardo Leite

PS: minha música de successo é "Iron\ Maiden\ -\ Flight\ of\ Icarus.mp3" e a de falha é "Metallica\ -\ So\ What.mp3" : )

PS2: tks ao Nelson (CCSL) pela ajuda!

PS3: comecei a escrever o post enquanto rodava o Maven : )