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.

Speedy Vantagens, da Telefônica, e minha breve participação no Google Codejam

Como estava curiosíssimo com o assunto, resolvi participar do Google Codejam Latinamerica. O round de qualificação foi muito divertido. Participando por hobby, não tive tempo de me preparar, sequer de ler o regulamento, o que me fez perder um problema inteiro por um detalhe boboca. Apesar disso, me classifiquei para o segundo round na posição 218. Desse round 250 avançam para o próximo, por isso, vendo minha posição, fiquei ainda mais animado para participar.

Diferente da rodada de qualificação, a de hoje aconteceu com hora marcada. Das 20h às 21h. Cheguei em casa às 19h30, depois de muita correria para chegar a tempo. Estou ministrando um treinamento de dia inteiro numa cidade próxima. Liguei o computador e tentei conectar. Nada.

Luzes do modem[bb] acesas, access point funcionando, cabos conferidos. Acessei a telinha de administração do access point e vi que ele havia se conectado via PPPoE normalmente. Tinha obtido um IP e um gateway, e os endereços de DNS. Tentei pingar o gateway. Pingou. Tentei pingar o DNS. Nada. Não era preciso ser nenhum gênio do TCP/IP para perceber que o problema era na Telefônica.

Liguei para o suporte da Telefônica. Disquei o DDD e o número de telefone, disquei o CPF, disquei as opções do menu e esperei. Quase dez minutos. Me atendeu uma mocinha, perguntou o meu nome, em seguida no que podia ajudar. Disse que me conectava via PPPoE, obtinha um IP, conseguia pingar o gateway mas não conseguia pingar mais nada além do Gateway.

- O senhor quer dizer que não consegue navegar no Speedy? – me perguntou ela, deixando claro que não tinha entendido nada desse papo de PPPoE e Gateway.

- Exato.

Ela me perguntou o modelo do meu modem, em seguida a versão do meu Windows.

- Eu não tenho Windows.

- E que sistema o senhor usa para conectar ao Speedy?

- Linux[bb].

Eu não saberia descrever o que acontece depois dessa resposta. Aquela mini-eternidade de silêncio, aquele clima de “Houston, we have a problem.” Você quase consegue sentir os dedos trêmulos da atendente revirando suas anotações, tentando entender porque nunca viu aquela pergunta em seus roteiros.

- Um momento senhor, eu vou verificar. – Uma coisa há de se elogiar no suporte da Telefônica, eles não colocam dois gerúndios por sentença. “Estar verificando” é a última coisa que eu gostaria de ouvir nesse momento. ;-)

Musiquinha de fundo. Alguns minutos depois a moça volta para informar que conversou com o pessoal do suporte técnico e foi informada de que o Speedy não tem suporte para Linux. Passei mais de cinco minutos tentando explicar que o problema não era o meu Linux, que eu tinha certeza disso, que o problema era na Telefônica. Dizer que contratei um serviço que não está funcionando, pelo qual eu pago todo mês, e que eu não quero suporte para meu sistema operacional, que quero apenas a conexão pela qual pago, não fez diferença nenhuma.

Ao final dos cinco minutos ganho um outro “vou verificar”, seguido de dois minutos de musiquinha e propaganda, e sinal de ocupado. Gosto de pensar que a atendente da Telefônica não desligou na minha cara, mas que eles tiveram um problema com o sistema de atendimento deles e a linha caiu.

Fiz mais duas tentativas em seguida. A mesma história. Pelo menos dez minutos tentando convencer o atendente a me deixar falar com alguém capaz de entender minimamente o que estou dizendo, seguido de um “vou verificar”, alguns minutos de musiquinha e propaganda, e sinal de ocupado.

Antes de contar minha última tentativa, convém lembrar do momento mágico, quando o atendente ouve a palavra “Linux”. As reações são as mais diversas, mas raramente positivas. Um dos atendentes me respondeu:

- Ah, senhor, o Speedy não é compatível com Linux. Não funciona.

- Mas eu me conecto no Linux há mais de cinco anos nesse mesmo Speedy.

(Cinco segundos de silêncio.)

- Senhor, o software de instalação do Speedy não funciona no Linux.

Outro chegou a me sugerir reinstalar o Linux. Quando eu tentei explicar que a idéia é absurda, ele me disse que, uma vez que o Speedy não oferece suporte a Linux, eu poderia solicitar a visita de um técnico, mas o técnico teria de qualquer maneira que reinstalar meu Linux!!!

Na quarta ligação, depois de mais de quarenta minutos ao telefone, resolvi tentar uma abordagem diferente. Me atendeu um tal de Marcos, sujeito simpático. Expliquei como estava me sentindo com o atendimento. Expliquei que já havia ligado três vezes, que me mandaram esperar e a linha caía. Deixei bem claro que estava insatisfeito e desanimado. Quase implorei ajuda.

Depois de escutar minha história toda, ele fez as perguntas do roteiro. Quando ouviu “Linux”, aquele mesmo silêncio. Oh-oh!

Mais dez minutos de papo, tentando explicar para o moço que, embora a Telefônica não pudesse me ajudar com meu Linux, não pode se recusar a pelo menos me atender. A mesma conversa dos outros e, ao final da conversa, o mesmo “vou verificar”. Quase desliguei quando começou a musiquinha insuportável das propagandas do Instituto Telefônica. Mas, para minha surpresa, menos de um minuto depois o Marcos voltou! E havia uma outra pessoa na linha. O Marcos o apresentou, Luciano, do suporte avançado (ou algo parecido.)

O Luciano ouviu minha conversa e pareceu entender o que eu dizia! Aleluia! Ele me pediu alguns segundos para fazer um teste na linha, em seguida perguntou sobre as luzes do meu modem. Pediu mais alguns momentos e digitou uma porção de coisas em seu teclado.

- Senhor, a Telefônica está fazendo uma manutenção em sua região para o aumento da segurança dos usuários. O serviço foi iniciado às 19h20, e a previsão é que seja terminado em três horas, ou seja, perto das 22h20.

Agradeci ao Luciano, desliguei e esperei. Porque não me deixaram falar com ele, ou com alguém que pudesse pelo menos entender o meu problema, logo de cara? Porque tenho que gastar cinqüenta minutos ao telefone para encontrar alguém cuja resposta não fosse: “seu sistema operacional é feio e nós não queremos nem falar com você”?

Outra coisa que me deixa com a pulga atrás da orelha é o fato de eles realizarem uma manutenção programada e os clientes não serem avisados. Um e-mail ou telefonema teria resolvido o problema todo, e eu teria participado do Codejam no escritório.

Ah, que inveja do Janio! E lá se foi o Codejam…

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.

Ensinando crianças a programar

Acabo de ler:

Why Johnny Can’t Program

O sujeito conta a sua experiência em ensinar crianças a programar. Ele usou a linguagem LOGO, que eu também usei em minha infância, e que eu já usei para ensinar crianças a programar.

LOGO é, de longe, a melhor maneira de se ensinar programação para crianças. A metáfora da tartaruga torna a coisa bem divertida, e permite à criança obter resultados interessantes muito rápido.

Para quem usa Linux, uma excelente opção é o kturtle. O Manual do KTurtle é bastante completo e bem escrito.

Preparei um rápido vídeo para que você tenha uma idéia de como funciona. Escrevi o programa abaixo:

clear
pendown
repeat 9 [
  forward 100
  turnright 160
]
penup
turnleft 90
forward 50

Veja rodando:

Se você usa Debian ou Ubuntu, pode instalar o kturtle usando o synaptic. No Ubuntu, pode também fazer, num terminal:

sudo apt-get install kturtle

Atletas não podem ter site nem blog

CO-Rio proíbe blogs de atletas e transmissão do Pan 2007 ao vivo pela internet

Eu, se fosse patrocinador, adoraria que cada atleta tivesse um blog, atualizado diariamente, com fotos e detalhes do evento. Adoraria ver minha marca, estampada em uniformes e placas, divulgada em milhares de páginas. Adoraria que, depois de assistir a cobertura do evento na TV, cujo contrato com outro patrocinador pode levar os câmeras a tentar não mostrar minha marca (lembra daquela história dos jogos de futebol com as cabeças cortadas?) as pessoas pudessem buscar mais textos, fotos e vídeos na Internet. E não só a miserinha publicada na web pelos canais “autorizados”, mas informação abundante, variada, de gente que esteve lá para assistir aos jogos e, principalmente, dos próprios atletas.

Navegando 23/Jan/2007

Bloglines ainda reina supremo, pelo menos para mim.

Enquanto o Ronaldo está procurando uma alternativa para o Bloglines, o Henrique se assusta com sua popularidade.

Eu, por enquanto, continuo no Bloglines. Passei algum tempo usando Newshutch. As alternativas que eu tinha visto até então eram complicadas e lentas, e eu preferia um Bloglines sem Ajax a um Google Reader cheio de Ajax que só atrapalhava. Até que encontrei o Newshutch, que tem Ajax na medida certa e não confunde os feeds lidos com não lidos como o Bloglines tem feito. Passei um bocado de tempo usando o Newshutch, quase satisfeito, mas voltei para o Bloglines por um único motivo: é o único que funciona em meu Nokia 6111.

Leio e respondo meus e-mails nele, acesso o Internet Banking (só Bradesco, o Itaú por enquanto não funciona), publico coisas neste blog, no da Visie e no Tableless e modero comentários, acesso o Google Maps e, usando o excelente MobyExplorer, até publico fotos e conserto pequenos bugs de programação em situações de emergência. Todas as aplicações da Visie funcionam nele. Não vou abrir mão de algo tão simples quanto ler meus feeds.

Se você souber de algum agregador legal com suporte ao Opera Mini, por favor me avise para eu testar. Enquanto isso, continuo no Bloglines.

Performancing

Acabo de conhecer, através do BrPoint, a Performancing, empresa que produz ferramentas para blogs[bb] e que acaba de ser comprada pela Pay Per Post. Instalei a extensão Performancing para o Firefox, e estou muito bem impressionado. Estou escrevendo este post nela. Se ele for para o ar, e você chegar a lê-lo, é sinal de que a extensão realmente funciona.

Segue um screenshot:

Performancing

Gravação de screencast no Ubuntu é com o recordmydesktop

Já tinha usado duas ferramentas para gravar screencasts no Linux[bb]: o xvidcap e o ffmpeg. Dois programas cheeeios de opções. O ffmeg é um programa de terminal para trabalho com mpeg em geral, que além de gravar screencasts faz muito mais. O xvidcap é um programa com interface gráfica, feito para a gravação de vídeos do Desktop, mas nem por isso menos complicado que o ffmpeg para se produzir um screencast.

Descobri recentemente o recordmydesktop, que me faz aposentar os outros dois. No fórum do Ubuntu há link para os pacotes deb. É preciso ter um login no fórum para baixar os pacotes. Baixe e instale os dois (duplo clique deve abrir o pacote no instalador de pacotes do Ubuntu.)
O programa, depois de instalado, vai estar em Aplicações -> Som e Vídeo -> gtk-recordMyDesktop. Experimente. Você vai ver como é sem graça. Descontando o fato de estar em português de Portugal e com os acentos errados, o programa funcionou perfeitamente aqui. Você abre o programa, escolhe a região da tela que quer gravar, clica em “Gravar” e pronto. Há uma série de configurações no botão “Avançado”, mas as escolhas para as opções mais comuns já foram feitas para você, de modo que se você não clicar em “Avançado” e for direto ao “Gravar” o programa deve funcionar perfeitamente.

O programa vai gerar um ogg, cujo nome padrão é out.ogg. Para convertê-lo para um formato DiVX mais fácil de se abrir no (argh!) Windows, você pode fazer:

mencoder out.ogg -o pronto.avi -oac mp3lame -ovc lavc -lavcopts vcodec=msmpeg4v2

Divirta-se.

computação traiçoeira

A robotização do controle:

“Em 2010, o presidente Clinton pode ter dois botões vermelhos em
sua mesa – um que manda mísseis à China e outro que desliga todos
os PCs da China – e adivinhem qual deles os chineses mais
temerão?”
Ross Anderson

Se você ainda não tinha entendido porque os defensores do software livre fazem tanto barulho quando se fala em trusted computing, precisa ler isso.

Barreiras cada vez mais finas

Caramba, dá uma olhada nisso:

The Road to KDE 4: Full Mac OS X Support

Ou seja, além do Windows, você vai poder rodar o KDE 4 no Mac OS X.

Ou seja, acesso às excelentes aplicações do KDE, das quais eu simplesmente não consigo me livrar, mesmo usando Gnome, para todo mundo. Windows, Mac, Linux[bb], FreeBSD, não importa. Você vai poder usar Kmail, Kate, Konqueror e até Kreversi!

Cite Bite, uma idéia ruim

Um bocado de gente começou recentemente a usar o Cite Bite para linkar para citações de outros sites. A citação pode ficar, por exemplo, assim:

PS: Se você tem talento e disposição para criar uma “mensagem-modelo”, com campinhos para preencher e enviar, principalmente para os tribunais, por favor faça isso. Você vai estar ajudando muito com um pouquinho de seu tempo.

Elcio Ferreira

Clique no link com meu nome e você vai entender o que é o Cite Bite. O recurso parece interessante à primeira vista. O problema é que isso quebra um dos mecanismos básicos da interação entre os blogs: o link.

Quando você linka para um outro blog você está favorecendo o blog linkado:

  1. Está enviando usuários para lá. Esse é, claro, o ponto mais óbvio.
  2. Está enviando um pingback. Isto é, se o seu sistema de blogging for esperto o suficiente para isso. Se você não sabe o que é pingback (e trackback) entenda isso melhor aqui.
  3. Está dando pontos ao site no Google Ranking. E o Google funciona por causa dessas milhares de pequenas contribuições voluntárias, os links. Cada link é um voto.

Nada disso aí acontece quando você linka para o Cite Bite. Vai haver um link a menos para o blogueiro que escreveu algo tão bom que merece sua citação.

Para complementar, o Cite Bite pode causar problemas para o seu usuário. Aquela barra vai causar problemas se o site linkado coloca coisas no topo usando, no CSS, position:absolute; e os javascripts e mesmo o layout do site podem não funcionar corretamente.
Linke direto para o blogueiro, a fonte original.