Estou a algumas semanas tentando fazer meu
evolution filtrar emails "junk". Instalei o
bogofilter, o
spamassassin, habilitei os plugins no evolution e marquei todas as mensagens que eram junk (~300), torci pela primeira vez pra receber um
spam , ele veio e não funcionou. Perguntei pro
cascardo e também para o
phractal se eles sabiam como habilitar. O phractal falou que no evolution dele funcionava perfeitamente. Verifiquei com ele e as configurações estavam iguais. Apaguei a minha wordlist (~/.bogofilter/wordlist.db) e marquei novamente os spams como "junk". Torci pela segunda vez pra receber um spam, ele veio e também não funcionou.
Hoje, lendo a blogada do
Jack Wallen, descobri que eu estava treinando errado o meu filtro. É preciso marcar os emails que não são "junk" como "junk" e depois desmarcá-los. Fiz isso e torci pela terceira vez. O spam veio e foi direto pra minha pasta "junk", yeah!
A um 1 atrás eu me formei (mas até hoje não busquei o diploma) e como projeto final, eu fiz um cliente
Jabber/XMPP que armazena links de
feeds XML (
RSS ou
Atom) no
PubSub, tudo em
JavaScript. Que no fundo é um cliente que agrega feeds XML a cada contato. Meu primeiro orientador achou que eu estava pirando muito e podou um tantão o que eu iria implementar. Em apenas dois dias eu fiz o cliente, usando como base um exemplo da jsjac. Fiz uma extensão da
jsjac que chamei de
pubsub.js e outra para recuperar as fotos dos usuários chamada
vcard.js. Usei a
jQuery pra fazer algumas coisas no cliente, mas como não pude pirar muito naquela época, tá tudo bem simples. Espero voltar a mexer nesse projeto logo.
Rodei um demo aqui:
http://metalstream.alucinados.com/
E quem quiser mandar
patch, eu uso
git, é só rodar um:
git clone http://git.alucinados.com/git/metalstream.git
Alguns screenshots dele funcionando:
Login:
|
Cadastrando um Feed:
|
Lendo um Feed:
|
1) Teste de Memória do Windows:
|
2) CD de recuperação da HP com Windows:
|
3) Instalação do MacOSX:
|
Alguns minutos antes de ir pro
FISL 10, eu lancei a segunda versão do
site lujorge.com.br. Esse site, eu fiz pra ajudar a divulgar o trabalho que o meu Tio Luiz Henrique, mais conhecido como Tí Lú, faz... A primeira versão foi uma experiência feita na tarde do Dias da Mães, onde exibia todos os trabalhos como
thumbnails e uma foto grande. Não me preocupei com o tempo que levaria para carregar o
site e nem se os
thumbnails iriam ficar bonitos. Apenas joguei tudo lá pra mostrar pra minha família e pro meu Tio, e esse foi o resultado:

Já essa segunda versão, eu fiz usando:
Django,
jquery e o
galleriffic. E como não sou um
designer, ou melhor um
hippie, aproveitei que o
lincoln fez um menu legal pro
EMSL 2009 e licenciou como
GPL, pra usar no site. Esse é o resultado dessa segunda versão:

Agora é divulgar o trabalho pra tudo que é canto!
Sobre o meu Tio:
"
Sou natural de Belo Horizonte/MG, onde resido atualmente. Tenho 35 anos, desenho desde os 5 anos de idade e me formei na Escola de Belas Artes da UFMG em 2000, me especializando em escultura e pintura. Hoje em dia faço trabalhos de decoração em festas e tenho produzido trabalhos para possíveis exposições."
Eu uso o
ZoneMinder aqui em casa, que é um software para
CFTV (Circuito Fechado de Televisão). Tempos atrás eu bloguei
falando do zoneminder. Hoje, quando atualizei para versão
1.24.1-1 notei a seguinte mensagem:
Warning: Cannot modify header information - headers already sent by
(output started at /usr/share/zoneminder/lang/pt_br.php:751) in
/usr/share/zoneminder/includes/functions.php on line 97
Na hora eu já imaginei o que era. Abri o arquivo "/usr/share/zoneminder/lang/pt_br.php" e lá estava, uma linha em branco aṕos a tag
?>, que é a tag que fecha comandos
PHP. Olhei os outros arquivos de línguas e alguns deles também possuíam a linha em branco. Então, lá vou eu fazer um
patch pra corrigir esse erro. Pensei um pouco, fiz alguns testes e não consegui. Como sou preguiçoso fui logo perguntar pra alguns amigos que também não puderam me dar uma solução na hora. Daí, evitei a fadiga e
encontrei o comando abaixo:
sed '${/^$/d}' arquivo
Esse comando só removia uma única linha, eu tinha casos mais de uma linha... Procurei mais e
achei um exemplo bem legal:
sed -e :a -e '/^\n*$/{$d;N;ba' -e '}' arquivo
Com esse comando, era só eu fazer um loop nos arquivos de línguas, gerar um novo arquivo com as modificações, executar o diff para comparar as mudanças e salvar num arquivo para enviar pros mantenedores do zoneminder. Acabei escrevendo o script abaixo:
#!/bin/bash
files=$( find . -name "*.php" )
# remove as linhas em branco do final do arquivo e cria um arquivo temporário
for file in $files; do
sed -e :a -e '/^\n*$/{$d;N;ba' -e '}' $file > "$file.new"
done
# faz a comparação entre o arquivo antigo e novo e salva
for file in $files; do
diff -burN $file "$file.new" >> patch.metal
done
# remove os arquivos temporários
find . -name "*.new" | xargs rm
Aṕos executar o script acima, abri o arquivo gerado, o "patch.metal" e fui conferir. Aparentemente tudo certo, agora vou abrir o bug e torcer pra ele
não ficar mais de um ano pra ser fechado.
UPDATE:
Bug reportado,
#531910, agora vamo ver...
Na espera pra lançar o
lenny, o
Gnome 2.26 ficou congelado na
experimental um bom tempo. Como eu não aguentei esperar, como vocês podem ver abaixo eu adoro "rodar o
aptitude", acabei instalando o "novo" gnome...
history | awk '{ a[$2]++ } END { for(i in a) { print a[i] " " i }}' | sort -rn | head
111 aptitude
82 aireplay-ng
82 aircrack-ng
42 du
27 vim
23 airodump-ng
18 ls
13 ifconfig
10 dpkg
9 sudo
Só que, esses pacotes da experimental, precisam ser atualizados "na mão", por possuírem uma prioridade menor. Pra quem quiser saber o processo, o
kov fez
um post prático e rápido explicando como fazer isso.
Nas últimas semanas, os pacotes que estavam na experimental começaram a ir pra
unstable e eu até tirei a experimental da minha
lista de repositórios. Hoje, eu percebi que vários dos meus pacotes não estavam sendo atualizados, porque eu não removi os pacotes do "
/etc/apt/preferences", que é o arquivo que guarda as configurações de políticas do
APT e fazem os pacotes da experimental ficarem com a "mesma" prioridade da unstable. Removido o arquivo, tudo voltou ao normal. Portanto, lembrem que esse arquivo existe, hehe.
Pegar textos de um
Wiki, jogar num editor de textos tipo o
Openoffice Writer, editar esses textos e distribuir, é caracterizado obra derivada?!
( comecei a escrever esse post em 02 de setembro 2008; mas só agora publicando, antes tarde do que nunca =P )
Como alterar um commit feito no
Git que esta no meio da árvore?
Fiz essa pergunta pro
kov na mesma época que comecei a escrever e essa foi a resposta dele na época:
Primeiro é preciso criar uma tag para identificar o commit que você quer editar.
Nesse exemplo, estou editando o commit 'a9851296d5eb52161fcb151d58f4aaee3f9ce416' e criando a tag 'bad'
git tag bad a9851296d5eb52161fcb151d58f4aaee3f9ce416
Colocar o commit no topo
git checkout bad
Agora é fazer as modificações nescessárias...
Adicionar os arquivos editados no HEAD
git add 'arquivos alterados'
Refazer o commit
git commit --amend
Reconstruir o histórico
git rebase --onto HEAD bad master
git checkout master
Recentemente ele me mostrou outras maneiras mais elegantes. Mas fica pra quem quiser deixar nos comentários =D

O
Encontro Mineiro de Software Livre acontece anualmente em
Minas Gerais. Depois de ser sediado por 2 anos consecutivos em cidades do interior de Minas Gerais, o evento voltará para a região metropolitana em 2008. O EMSL foi criado com o objetivo de fomentar a aproximação e o intercâmbio entre os vários grupos que utilizam o software livre no estado, assim como incentivar seu uso por novos grupos. Esta edição, com o lema "Liberdade para Aprimorar", visa promover a contribuição e o aperfeiçoamento do software livre de forma consciente e colaborativa.
Este ano o Encontro Mineiro de Sofware Livre será realizado na
UNI-BH, de
26 a 29 de Novembro de 2008.
Hoje eu descobri que mais uma foto minha faz parte da
Wikipedia. Acho que nem foi tanto pela beleza, mas sim pelo licenciamento
CC-by-sa que escolhi para todas as minhas fotos publicadas no
meu pedaço do
Flickr. A
primeira foto é uma de
Palmas/TO e a
segunda foto é de
Brasília/DF, que esta
linkada em várias outras entradas. Preciso visitar outros cantos e fotografar mais =D
14-09-2008:
Acabei de mudar a licença de todas as fotos para
CC-by