Jun 30
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.
No commentsJun 5
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.
Jun 3
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)
Mai 29
Geografia paulista
Mais uma piada boa. Quem não é natural de São Paulo (capital) e já esteve em contato constante com um grupo de paulistas “típicos”, sabe bem como esse pessoal é ruim de geografia.
Recebi hoje a versão paulista do atlas. Para quem mora em uma das outras vinte e seis unidades federativas, não se assustem - é assim mesmo que boa parte do povo daqui pensa:
- Acre: é que nem a terra do nunca - só cheirando um pó estranho para chegar lá;
- Região norte e centro-oeste: só tem mato;
- Goiás: só dá dupla sertaneja;
- Região nordeste: meu favorito - conforme já me disseram, é “a grande Bahia”;
- Minas: só dá queijo;
- Espiríto Santo: só se for aquele que o padre fala na missa;
- Rio: a Argentina brasileira;
- Litoral: praticamente um estado à parte;
- Santa Catarina e Paraná: fábrica de “gostosas”;
- Rio Grande do Sul: fábrica de homosexuais.
Só para manter a justiça, lembro ao leitor que não são todos os paulistas que seguem esse estereótipo!
1 commentMai 28
“Desafio” do FBI
Aparentemente, todo ano, o FBI lança um desafio de criptoanálise. Nesse ano de 2009, a mensagem estava criptografada usando “runas antigas”. Dizem eles que a técnica é similar a utilizada por alguns marginais.
Como gosto de um desafio mental, anotei as “runas” em um pedaço de papel e comecei a matutar entre um “deploy” e outro. Acho que não teria levado meia hora para decifrar, se eu tivesse uma meia hora inteira para trabalhar nisso…
Não é nenhuma criptografia muito complexa - está na cara que é mais uma diversão do que algo sério (obviamente não é uma pré-prova para ingressar no FBI). Mesmo com o pouco que conheco de criptoanálise e meu inglês nota 8, foi consideravelmente fácil decifrar. Tenho até a sensação que eles colocaram um ou outro elemento para facilitar…
No commentsMai 27
Engenharia de software
Para quem gosta de engenharia de software como eu (principalmente se tiver o mesmo gosto sociopata sociológico pelo assunto), vai gostar de ler o blog Fragmental.
Muitos casos reais, contatos e comentados, relacionados à área. Desde a eterna (e normalmente fútil) busca pelos selos de qualidade até os “causos” das metodologias ágeis.
Boa leitura, vale a pena.
1 commentMai 22
Significado da palavra “anfitrião”
Mais uma recebida por e-mail, mandada pela minha amiga Nicole:
.-=-.
Na mitologia grega, Anfitrião era marido de Alcmena, a mãe de Hércules. Enquanto Anfitrião estava na guerra de Tebas, Zeus tomou a sua forma para deitar-se com Alcmena e Hermes tomou a forma de seu escravo, sósia, para montar guarda no portão.
Um a grande confusão foi criada, pois evidentemente, Anfitrião duvidou da fidelidade da esposa. No fim, tudo foi esclarecido por Zeus e Anfitrião ficou contente por ser marido de uma mulher escolhida do Deus. Daquela noite de amor nasceu o semideus Hércules. A partir daí, o termo anfitrião passou a ter o sentido de ‘aquele que recebe em casa’.
Portanto, ANFITRIÃO é sinônimo de: ‘CORNO MANSO E FELIZ!’
CONCLUSÃO: CULTURA DEMAIS É UMA M****!
2 commentsMai 14
O funcionário mais importante
Minha esposa recebeu essa piada do meu cunhado e, como simpatizei-me muito com o final, decidi publicar aqui. Quem me conhece (como a minha esposa), vai entender o porquê…
.-=-.
Dois leões fugiram do Jardim Zoológico. Na fuga, cada um tomou um rumo diferente. Um dos leões foi para a floresta e o outro foi para o centro da cidade. Procuraram os leões por todo o lado, mas ninguém os encontrou.
Depois de um mês, para surpresa geral, o leão que voltou foi justamente o que fugira para as matas. Voltou magro, faminto, alquebrado. Assim, o leão foi reconduzido a sua jaula. Passaram-se oito meses e ninguém mais se lembrou do leão que fugira para o centro da cidade, quando um dia houve uma correria e o bicho foi recapturado.
Voltou ao Jardim Zoológico gordo, sadio, vendendo saúde. Mal ficaram juntos de novo, o leão que fugira para a floresta perguntou ao colega:
- Como é que conseguiste ficar na cidade esse tempo todo e ainda voltar com saúde? Eu, que fugi para para a mata, tive que voltar, porque quase não encontrava o que comer!!!
O outro leão então explicou:
- Enchi-me de coragem e fui esconder-me numa repartição pública. Cada dia comia um funcionário e ninguém dava por falta dele.
- E por que voltaste então para cá? Tinham acabado os funcionários?
- Nada disso. Funcionário público é coisa que nunca se acaba. É que eu cometi um erro gravíssimo. Tinha comido o diretor geral, dois superintendentes, cinco adjuntos, três coordenadores, dez assessores, doze chefes de seção, quinze chefes de divisão, várias secretárias, dezenas de funcionários e ninguém deu por falta deles! Mas, no dia em que eu comi a tia que servia o cafézinho…
Mai 14
Lipoaspiração no Firefox (a.k.a: economizando memória)
Você também se incomoda com a quantidade abusiva de memória que o Firefox consome após algum tempo de uso? O meu começa com um footprint de 120mb e chega a 300mb (sem ter tanta aba aberta assim). Pesquisando um pouco na internet, achei um artigo em inglês sobre algumas alterações na configuração. Muito legal, mas não fala qual o significado de cada configuração a alterar. Pesquisando mais um pouco, encontrei um ótimo artigo no MozillaZine.
Algumas dicas:
- Algumas extensões tem problemas. Veja na lista se uma das suas 42 extensões é problemática. Nem o Firebug escapa (infelizmente, ajuda a aumentar o consumo de CPU);
- O plugin do flash é “do mal”. Além dos vazamentos cotidianos, cada animação aberta consome memória, e, em uma época em que até o site da padaria da esquina tem umas vinte animações flash, o melhor é desativar essa figura. Mas, como provavelmente “aquele” site que você visita todo dia (vamos supor que seja algo construtivo) vai impedir o desligamento completo do plugin, baixe o Flashblock, e só ative as animações que são realmente importantes - a performance de seu PC agradece;
- Apesar de ser meu ganha-pão, o plugin do Java também é “do mal”. Esse não tem um “Javablock”, mas só é carregado nas poucas páginas que precisam do plugin. Como plugin, uma vez carregado, permanece carregado, reinicie o Firefox sempre que não precisar mais do Java;
- Altere o tamanho do cache de imagens. Esta configuração, por padrão, é dinâmica (a partir da quantidade de memória disponível). Com 1gb, o cache, por padrão, é de 18mb… Se quiser alterar, vá em “about:config“, e inclua um valor inteiro chamado “browser.cache.memory.capacity” com o valor em megabytes que deseja (ex: “4096″, para um cache de 4mb). Se for muito “macho”, desligue completamente o cache alterando “browser.cache.memory.enabled” para “false” e ligue o cache em disco para páginas SSL, com “browser.cache.disk_cache_ssl” igual a “true” (lembre-se que tal cache não é criptografado, então é potencialmente inseguro);
- Se você não usa muito os botões “back” e “forward”, diminua ou desligue o cache de página. Diferente do cache em memória (que guarda o fonte da página), esse cache guarda a página montada. Por padrão, também é dinâmico. Com 1gb no micro, o firefox guarda 8 páginas (como cada uma consome cerca de 4mb, temos 32mb aqui). Basta alterar “browser.sessionhistory.max_total_viewers” no about:config para a quantidade de páginas que deseja guardar (ou desligar, atribuindo “zero” nessa configuração);
- Usuários Windows que não minimizam muito o firefox podem deixar o sistema (não-tão) operacional mandar o navegador para swap com a opção booleana “config.trim_on_minimize” igual a “true”. O problema é esperar alguns instantes com o firefox travado ao restaurar. A vantagem é que as “gorduras inúteis” do firefox permanescerão em swap;
- Por último, reinicie o firefox! Não só para ativar as configurações acima, mas para liberar os quilos de banha que vazam durante aquela sua sessão matuzaléica que já comemora bodas de trigo com seu micro.
Mai 4
Filosofia trash da semana: canibalismo
O que acontece quando misturamos uma semana cansativa com uma fome de leão? Coisa boa não é… Nesse caso, tudo começou com uma semana longa e um cabelo (meu) na minha comida. Quando o vi uma amostra de DNA minha naquilo que, em breve, estaria em meu estômago, veio o momento filosófico da semana:
“Comer um cabelo que estava na sua comida te torna um antropófago (vulgo: canibal)?”
Se você respondeu “sim”, provavelmente pensou que nem eu: “oras, é um pedaço de um ser humano - melhor evitar”. Se você respondeu “não”, vem a segunda parte do momento filosófico:
“Quanto de um ser humano você precisa comer para se considerar um canibal?”
Se um fio de cabelo não conta como canibalismo, o que contaria? Uma unha? Um dedo? Uma mão? É mórbido, mas é algo a se pensar…