Blog do Eduardo Costa Meu blog pessoal

30Jun/090

NetBeans 6.7

Dia 28/06 (anteontem) saiu o NetBeans 6.7. Para mim, não é novidade, pois já o uso desde antes da versão beta. Para quem estava no 6.5, eis algumas novidades que testei:

  • A integração com o maven melhorou muito - desde o autocompletar até o novo grafo de dependências;
  • O profiler tem um HeapWalker, para pesquisar o heap usando OQL - para quem faz tunning de memória, uma ferramenta indispensável;
  • Integração com o hudson. Além de gerenciar o servidor, um ícone na barra de status mostra a situação dos builds - perfeito para quem gerencia CI!

O resto das novidades está no release do NB.

5Jun/090

Usando o "less" para navegar em logs

Se você precisa monitorar alguma aplicação linux que gere logs rotativos, o jeito mais prático e flexível é usando o less. Basta chamar "less <nomearq>" e pronto. Por ser uma ferramenta de visualização (e não de edição), a navegação dele é mais prática que a do VIM em alguns aspectos - o principal é que quase tudo é feito com uma tecla só. Por exemplo, algumas teclas de atalho:

  • "g" - vai para o início do arquivo;
  • "G" - vai para o fim do arquivo. Detalhe: esse comando também atualiza o arquivo, de forma que, se o log for do tipo de aumenta fácil, pode-se ir pressionando "G" para ver as novas linhas geradas;
  • "f" - monitora o fim do arquivo. Em termos simples, o "less" vira um "tail -f" (é como se pressionasse "G" toda hora). Para voltar ao modo navegável, basta pressionar "ctrl-c";
  • "v" - invoca o editor configurado na variável $EDITOR (normalmente o nano ou o VIM);
  • "/<texto>" - procura "<texto>" a partir do início do arquivo;
  • "?<texto>" - procura "<texto>" a partir do fim do arquivo;
  • "n" - repete a última pesquisa. Se a pesquisa foi com o "/", vai para a próxima ocorrência. Se foi com "?" vai para a ocorrência anterior;
  • "N" - repete a última pesquisa, no sentido contrário. Se usou o "/", vai para a ocorrência anterior;
  • "<numero>" - vai para a linha número "<numero>";
  • "r" - recarrega a tela (útil quando algum processo em background polui o terminal);
  • "R" - recarrega o arquivo (perfeito quando o log rotaciona);
  • "q" - sai.
3Jun/091

Tiradas interessantes no GCC Bug List

O bugzilla do GCC tem uma lista de quips muito interessante. Alguns exemplos que só usuários Linux e programadores C irão entender:

  • rm: cannot remove /bin/laden: not found
  • Feed the hungry, save the whales, free the mallocs!
  • I have a dream... of a unified system for all builds, whether native, cross, Candian, cross-built native, or crossback...
  • All IEEE floating point implementations are equal, but some are more equal than others.
  • -malign-pants
  • to_be || !to_be == 1, to_be | ~to_be == -1
  • AI.cc:33241: warning: You wrote 'neurons.merge(solution1, solution2)", you probably MEANT "neurons->merge(solution1, solution2)" but there is MUCH better way to implement this whole function; doing that instead.
  • #define CRASH() (*(char*)0) = 0
  • /me does his cat-from-shrek2 look -- stevenb, talking about a new register allocator for gcc
  • When you say: "I wrote a program that crashed Windows", people just stare at you blankly and say: "Hey, I got those with the system -- for free." (Linus Torvalds)
  • sh: fortune: command not found
  • To be, or not to be? That is ..... liable to be removed at -O2 and above.
  • Humans are not the target of GCC. -- David Daney
  • This Quip has been sponsored by the -ffast-math supporter team
  • When you open Windows, bugs get in.
  • goto bed;

Tem uns fora da área bem interessantes também:

  • Não acredito em reencarnação, mas acreditava na minha vida anterior
  • As falhas só começam quando você para de tentar
  • É um recurso, e não um bug
  • Encontrei minha "criança interior" e pus o fedelho para adoção
  • Eu não cometo erros estúpidos. Apenas erros muito, muito inteligentes
  • Faça seu melhor - depois supere

Teste para vocação nerd - você encontra a pegadinha dessa?

  • ?- X. % ... 1,000,000 ............ 10,000,000 years later % % >> 42 << (last release gives the question)