Aprendendo a programar, em Python, Ruby, C++, Java ou Logo.

Eu já tinha lido este excelente livro (e-book grátis):

How to Think Like a Computer Scientist: Learning With Python

Eu costumo recomendar a todo mundo que está tentando aprender lógica de programação, e o uso quando preciso ensinar alguém a programar. Eu já sabia que ele é uma versão em Python[bb] do original, em C++

Mas só hoje fiquei sabendo que o mesmo livro também está disponível nas versões Java, Ruby e Logo.

Agora você pode ensinar seus sobrinhos a programar usando sua linguagem de programação predileta. E, se eles ainda não tiverem idade para coisas como orientação a objeto, e precisarem de algo mais concreto, pode usar Logo.

De novo, boa propaganda faz milagres

Humanized

É um Katapult, um QuickSilver. Só que rodando em Windows. Ou seja, nada de novo, mais uma vez o Windows tem a mesma coisa que os outros sistemas, com alguns meses ou anos de atraso. E parece maravilhoso porque muito usuário de Windows nunca viu nada parecido.

Assista o vídeo e veja no final, onde aparece o desenvolvedor com a barba engraçada. Na parte em que ele fala sobre como estender o sistema, preste atenção na linguagem de programação que você vai usar se quiser ensinar novos truques.

Antes que alguém venha dizer que o Katapult ou o QuickSilver não fazem todos os truques que o Enso, eu quero lembrá-lo de que estamos falando de sistemas Unix. O shell do Unix é a coisa mais flexível que já se inventou em relação à integração de programas diferentes. Tomei um tempinho agora e escrevi 18 linhas de Python + Shell Script, para tentar fazer algo parecido com o que o Enso faz. Veja o resultado:

Usei o próprio Katapult, o Kmenuedit para criar as entradas e colocar os ícones, e o xvkbd para falar com as aplicações abertas. Levei uns 30 minutos, incluindo a gravação do vídeo. Se gastar mais um tempo nisso, é possível fazer muita coisa legal.

StayValid

O caso é muito comum: você cria um site com um gerenciador de conteúdos qualquer. Por exemplo, um blog WordPress. Você valida o código e o site passa perfeitamente pelo validador. Mas, depois de algum tempo, alguém, você, seu cliente, seu colega, seu cachorro ou seu papagaio fazem um post no blog, ou alteram um conteúdo no CMS e isso quebra a validação. E você só vai descrobir sabe-se lá quanto tempo depois.

Como resolver este problema? Validar todos os seus sites, todos os dias?

O StayValid valida seu site para você, todos os dias, de hora em hora. Insira o endereço de seu site e o StayValid vai criar um feed RSS[bb] onde você pode acompanhar os resultados da validação. Se tudo correr bem, você vai receber apenas uma notícia por dia, do StayValid dizendo que validou seu site. Se ele encontrar um ou mais erros, ou se o resultado da validação mudar (por exemplo, você tinha três erros e agora só tem dois) o StayValid vai validar de hora em hora e te avisar via RSS.

Em tempo: o StayValid nasceu de uma necessidade nossa, e se tornou possível porque o código de resultados do validador do W3C é XHTML válido. Bastou então escrever um arquivo XSLT que transformasse os resultados num RSS.

Um passo além do Akismet

Qualquer um que tenha um blog com comentários dos usuários conhece o problema: spam de comentários. Este blog recebe centenas de comentários por dia sobre assuntos tão diversos quanto viagra ou tramadol, fotos de angelina jolie e britney spears nuas, encontros, jogos online e uma série de outras coisas que não tem absolutamente nada a ver com o assunto desse blog.

Quem usa WordPress certamente conhece o Akismet, um plugin com um filtro de spam, semelhante ao de Gmail, que acerta mais de 97% das vezes neste humilde blog. É fabuloso. Mas de vez em quando erra.

Se o Akismet deixa passar um comentário que deveria ter sido considerado spam, tudo bem, eu modero isso manualmente. Mas quando ele coloca na caixa de spam um comentário legítimo, o risco de que esse comentário se perca no meio das centenas de spam que recebo todos os dias é muito alto. Verificar a caixa de spams é um trabalho extremamente chato.

Foi pensando nisso que eu criei o Navalha do Spam, um pequeno script Python[bb] que eu fiz em cinco minutos, e que você pode baixar aqui. O navalha funciona através da antiquìssima idéia de se ter uma blacklist de palavras. É simples, a esmagadora maioria dos spams que recebo contém nomes de remédio ou de doenças, como viagra, cialis, phentermine, lexapro, acyclovir, mesothelioma ou prozac, nomes de celebridades escandalosas como britney spears, angelina jolie, briana banks, referências a pornografia ou outras palavras muito manjadas, como ringtone, insurance, refinancing ou wallpapers. E os comentários em meu blog, devido aos assuntos que abordo e ao idioma, raramente contém uma dessas palavras.

Então o que o Navalha faz é ler uma lista de expressões, uma por linha, no arquivo keywords, e excluir todos os comentários que estiverem na caixa de spam e contiverem qualquer uma dessas palavras.

Para usá-lo, você vai precisar apenas de Python e MySQLdb. Coloque os dados de sua conexão no arquivo settings.py. Depois basta executar, dentro do diretório do script:

$ python spamkill.py

E pronto. Aqui para mim o resultado é que geralmente sobra meia dúzia de comentários. Dois ou três legítimos, que eu vou restaurar. Se ainda sobrar muito spam depois de rodar o script, é hora de olhar o que sobrou e incluir novas palavras chaves no arquivo de keywords.

Navegando