Páginas

Monday, April 19, 2010

Como encontrar arquivos usando o GNU find e ignorando alguns diretórios

Esta dica foi tirada de um comentário anônimo em http://www.linux.com/archive/feed/49304.
Fica aqui para referência futura...

Algumas vezes queremos usar o GNU find para procurar por arquivos recursivamente. O problema é quando queremos excluir alguns diretórios da busca. O jeito é usar mais de uma condição. Por exemplo:

find / -path '/proc' -prune -o -path '/dev' -prune -o -name foo.txt

Este comando procura por arquivos chamados "foo.txt" na raiz de sistema, ignorando tudo em /proc e /dev. O '-o' é um "ou" e o '-prune' faz com que o find ignore o caminho encontrado.


Original em inglês:
Sometimes you may want to exclude parts of the directory tree. It took me a while to figure out how to do this because it isn't very intuitive.
If you wanted to search for foo.txt but don't want to descend into /proc or /dev you can do this
find / -path '/proc' -prune -o -path '/dev' -prune -o -name foo.txt

The '-o' means 'or', so there in this case there are three conditions, separated by 'or', which will cause find to take action. The first two is when the path is '/proc' or '/dev' the action find will take is to prune them from the search path. The third condition is when the name is foo.txt. In this case find will print, since no other action is specified.

Thursday, January 21, 2010

Sons, muitos sons! Com Python :D

Pois é, tive um dia de domingo agradável, programando!
A turma do Dojo Rio está tocando o projeto opensource Dojotools para reunir ferramentas para facilitar nossas vidas durante as sessões de coding dojo.
Para dar minha pequena contribuição para minha diversão, e prejuízo de meus ouvidos, passei a tarde arrumando o sound_alarm. Este script surgiu de diversas brincadeiras que já havia feito para reproduzir som com Python no Windows e no Ubuntu.
Juntei coisas que eu já tinha, refatorei, produzi algumas "melodias" para perturbar quem se aproxima de mim, e taquei no github.

Ontem testei o script no Mac e não funciona. Pelo menos aqui no Macbook Pro não tem /dev/audio, e não descobri como tocar sons em diferentes frequências como consigo no Linux e Windows.

Eis que se alguém tiver uma solução pro Mac OSX ela é apreciada :D

Thursday, December 10, 2009

Novas línguas do semestre

Neste segundo semestre de 2009 inicei meu contato com diversas novas línguas e linguagens.
Para começar, estou agora morando em Portugal, o que me deixa em contato com um português um bocado diferente do que estava acostumado no Brasil.

Depois, por ter contato com amigos de diversas partes do globo, o inglês é certamente a língua que mais tenho utilizado no dia-a-dia. Para completar, tem o Polonês e o Turco, que podem parecer exóticos mas tem feito parte do meu cotidiano no momento.

Mas, o que tenho feito de novo aqui em Lisboa? Só vida boa? Não, não.
Os trabalhos da faculdade me fizeram desviar da jornada estritamente pythônica para olhar outras linguagens.

No Brasil meus amigos continuam arrasando com as super comunidades, mega encontros, e muita agitação todos os dias da semana. Aqui, encarei um projeto de Inteligência Artificial usando LISP.
O objetivo era resolver automaticamente instâncias do jogo Hidato.

Inicialmente o contato com LISP não foi muito amigável, porém com o tempo fui pegando o gosto e vi muito espaço para aprendizado com esta linguagem. Implementei meu projeto para o ambiente CLISP, e fiquei muito satisfeito pela boa velocidade com que resolvia grandes instâncias do jogo.

Os pontos que me deixaram curiosos no LISP e que ainda não tive a oportunidade de brincar foi o processamento de texto, acesso a dados via Internet, e outros detalhes que não me vêm à cabeça neste momento...

O lado negro foi ter que cursar Programação com Objectos usando Java, linguagem extremamente burocrática, e que nenhum conhecimento interessante me traz. É impressionante a distância entre uma idéia pra solucionar um problema e uma solução implementada em Java. Talvez os mais experientes hackers da terra do cafezinho vão discordar desse meu desabafo sem código, mas aqui o objetivo é só relatar meu descontentamento mesmo :P

Por fim, Matlab. É um ambiente proprietário, de sintaxe muitas vezes esquisita, e que estou utilizando nas aulas de Processamento de Imagens. Não vi ainda vantagens em relação a usar Python + Numpy + Matplotlib... ainda assim, é uma linguagem interpretada e lá temos console e um manual muito bem elaborado.

Acho que as linguagens compiladas tem um ponto a menos nas minhas avaliações por conta da velocidade do "escrever código". Legibilidade e fluxo de desenvolvimento acabam valendo mais que tempo de execução.

Monday, September 21, 2009

Novo blog com histórias e relatos da minha viagem para Portugal

Hoje finalmente comecei o blog para relatar minha viagem, o um ano de intercâmbio em Lisboa.

Aos que quiserem acompanhar a jornada, apontem para Lisboa, Portugal.

Friday, September 11, 2009

Lisboa, Portugal

Eis que cá estou desde segunda-feira. Esta tem sido uma semana muito boa.

Conheci novos países, novas culturas, novas pessoas... sim... PESSOAS muito interessantes. Escrevi algumas coisas em papel nos primeiros dias, depois pretendo postar.

Agora moro aqui em Portugal por um ano, muitas novidades por vir, como o Coding Dojo Lisboa! Aguardem.