mai 2009 18

Há alguns dias finalmente cliquei no link “API” que está no fim de praticamente todas as telas do Twitter. Descobrí que programar o Twitter é tão simples quanto usá-lo! Eis que a estratégia de ultra-simplicidade do portal se repete na API de web services(REST) do Twitter:
- O esquema de autenticação é o mais antigo da Web, via Basic Auth. Em resumo, Basic Auth é um campo no cabeçalho que concatena usuário:senha, codificados com Base64 para evitar caracteres reservados ao HTTP.
- As chamadas são GET, POST ou DELETE. Normalmente as consultas a dados usam GET e as atualizações POST – provavelmente porque o POST não tem limite de tamanho nos dados enviados, ao contrário do GET.
- Diferente de web services “pesados” como SOAP, cada URI é ligado a apenas um método/função. Então para ver os últimos 20 “Twits”(?) em todo o Twitter, você pode verificar, inclusive, via navegador. Clique aqui para ver um exemplo em XML simples.

Comecei a implementar algumas chamadas em modulos Perl individuais, e quando menos percebí já estava criando objetos para o Usuario(Zen::Twitter::User), para atualizações de usuários(Zen::Twitter::UserStatus), modulos para cada grupo de funções relacionadas, e por aí vai. Empacotei tudo no Zen Twitter Tools e acrescentei scripts de demonstração para cada função da biblioteca Zen::Twitter.

2009-05-18 – Versão 0.10 da biblioteca Zen::Twitter

Esta versão suporta os seguintes módulos:

  • Search
  • Timeline
  • Status
  • User
  • Direct Message
  • Friendship
  • Social Graph
  • Account
  • Favorite
  • Notification
  • Block
  • Help

Cada serviço está descrito, detalhadamente, no Wiki de documentação Twitter.

Gerência de Conta Twitter
account_rate_limit_status.pl – Verificar quantos créditos de API ainda tem restantes por horário, e horário da próxima zeragem
account_update_delivery_device.pl – Atualiza dispositivo móvel onde deseja receber notificações.
account_update_profile_color.pl – Atualiza cores do seu perfil.
account_update_profile.pl – Atualiza dados do seu perfil como email, localização, URL, etc
account_verify_credentials.pl – Testa os dados em credentials.xml(veja documentação para obter detalhes)

Gerência de Bloqueios
block_blocking.pl – Listar usuários que você atualmente bloqueia.
block_create.pl – Bloquear um usuário
block_destroy.pl – Desbloquear um usuário
block_exists.pl – Verifica se você está atualmente bloqueando um usuário.
block_ids.pl – Lista todos os IDs de usuários que você está bloqueando

Mensagens Diretas
direct_message_destroy.pl – Apagar uma mensagem direta
direct_message_send.pl – Envia uma mensagem direta
direct_messages.pl – Listar mensagens diretas na caixa de entrada
direct_messages_sent.pl – Listar mensagens diretas enviadas

Gerência de Favoritos
favorite_create.pl – Adicionar um status a seus favoritos
favorite_destroy.pl – Remover um status de seus favoritos
favorites.pl – Listar seus favoritos

Amigos e Seguidores
followers_not_friends.pl – Lista quais seguidores você ainda não segue
friendship_create.pl – Seguir um usuário / Follow
friendship_destroy.pl – Deixar de seguir um usuário
friendship_exists.pl – Verifica se usuario_a segue o usuario_b
friends_not_followers.pl – Lista quais amigos você segue que não te seguem ainda.
friends_timeline.pl – Últimos 20 status/atualizações de seus amigos.
mentions.pl – Últimas 20 menções a @você
public_timeline.pl – As últimas 20 atualizações em todo o Twitter, atualizadas a cada 60 segundos.

Notificações Móveis
notification_follow.pl – Passar a receber notificações moveis quando um usuário atualizar status.
notification_leave.pl – Deixar de receber notificações moveis quando um usuario atualizar seu status.

Buscas
search.pl – Interface de linha de comando para o sistema de buscas do Twitter. Exemplo: perl search.pl dire straits

Grafo Social
socialgraph.pl – Contagem simples de amigos e seguidores.

Status
status_destroy.pl – Apaga uma de suas atualizações
status_show.pl – Mostra o status de um usuário.
status_update.pl – Atualiza seu status(esta é a função principal do Twitter).

Ajuda
test.pl – Testa comunicação com servidores do Twitter. Apenas envia um pedido nulo e recebe um OK.

Usuários
user_timeline.pl – Recebe as atualizações de um usuário em ordem cronológica, é como visitar em http://twitter.com/USUARIO
user.pl – Mostra o status atual(ultima atualização) e dados gerais de um usuário específico.

Exemplos de Scripts
Cada função da biblioteca possui um script relacionado para demonstrar sua utilização, assim você pode modificá-los e criar suas próprias aplicações. Os scripts de demonstração também podem ser usados para gerenciar sua conta. Todas as funções que exigem usuário/senha utilizarão a configuração presente em credentials.xml. Edite esse arquivo e inclua seus dados de acesso para obter acesso a toda a funcionalidade do Twitter.

Não implementado na v. 0.10
- Tendências de buscas, visto que só possuem versões JSON o que não é muito útil em Perl
- Upload de imagem para o perfil e imagem de fundo do perfil.
- Função de “sign off”(sair do sistema). Em ambiente de linha de comando não temos por que apagar cookies e session.

Como Baixar o Zen Twitter Tools: zen-twitter-tools-0.10.tar.gz

A documentação dos módulos serve apenas para orientar seu uso, não é, de maneira alguma, documentação com o padrão de qualidade do CPAN. Acho que a funcionalidade do Twitter é simples o suficiente para que a biblioteca seja usada sem problemas.

jul 2009 06

Há cerca de 40 anos que o @ na Internet significa “at” em inglês. Portanto os destinatários de mensagens podem ser encontrados @ algum lugar. Digamos, BillGates @ Microsoft.com

Quando o Twitter chegou, era uma novidade interessante. Um microblog combinado a um chat onde todo mundo conversa com todo mundo ao mesmo tempo. O conceito de “o mercado é uma conversação”(Cluetrain Manifesto, 1999) levado ao extremo.

Exceto que o Twitter não trouxe nada de mais em termos tecnológicos. É um bate-papo inferior ao IRC, um blog inferior a todos os outros e seu único mérito é ter ficado na moda na era do iPhone e do Blackberry. O IRC é um bate-papo global mais dinâmico, mais avançado e muito mais estável e maduro que o Twitter. Pena que não haviam iPhones quando o IRC se tornou global.

Então, tendo dito tudo isso, lembrando todos os outros serviços online respeitam o padrão usuario@lugar, que tal você pedir ao Twitter pra corrigir o sistema deles e acabar com esse erro de colocar o usuario após o arroba? Não há nada no Twitter que justifique a inversão do padrão. O correto é usuario@ para responder a um usuario, e não @usuario.

ago 2010 09

O Twitter é um bate-papo onde todos falam ao mesmo tempo. Uma conversação caótica, global, uma demonstração de que o ser humano produz tanto lixo virtual quanto real.

Os computadores são máquinas como outras quaisquer. Cada ciclo dessa máquina consome árvores, assim como cada revolução do motor de um carro consome combustível.

O motor de um automóvel expulsa inúmeros dejetos como efeito colateral da combustão. Da mesma forma, o processo de computação tem seus custos ao meio ambiente.

Não sou expert em meio ambiente, nem pretendo entrar nesse mérito. Como um mero cidadão do mundo, tenho alguma consciência do custo e do benefício daquilo que faço em relação ao meio ambiente. Digamos que fecho a torneira quando não estou utilizando.

Derrame no Mar da WWW
A produção em massa de lixo cibernético é um problema que cresce exponencialmente, e cujo perigo para o meio ambiente cresce na mesma medida.

A explosão da poluição online foi catalisada através de ferramentas como o Twitter que incentivam a produção de ruído virtual sem fim. Telefones, palmtops, tablets, notebooks e desktops, todos facilitando a produção de lixo cibernético. Há apenas alguns anos, as pessoas precisavam de algum conhecimento técnico para lançar conteúdo ao ciberespaço. Os blogs iniciaram a mudança, que culminou na criação do chamado “microblog” – o Twitter.

Com o Twitter, qualquer um lança um foguete(ou balão incendiário?) pro espaço contendo aquilo que estiver pensando na hora. Há alguns anos apenas cápsulas de conhecimento eram lançadas ao espaço, e grandes eventos marcavam a próxima decolagem da NASA. Hoje, qualquer coisa pode voar. E 99% das quais são inutilidades: retweets de retweets de follow friday e #prontofalei.

Observe um tópico nos trends do dia, e veja a velocidade com que os tweets desaparecem. Alguma pessoa, em algum lugar do mundo, produziu um barulho de menos de 140 caracteres; alguns poucos caracteres que transitaram por milhares de quilômetros de fibra ótica, chegando finalmente ao triturador central do Twitter para rápida digestão. Depois de digerido, transforma-se em mais uma garrafa plástica flutuando no mar de lixo virtual.

Ser humano algum é capaz de absorver sequer 0.001% da informação produzida em uma tela padrão do Twitter. O oposto é verdadeiro também. Quem possui 300 mil seguidores está espalhando seus problemas, complexos, preconceitos, opiniões, verdades e mentiras em ritmo de comício. São platéias permanentes no mundo virtual.

Tenho a visão de imbecís enfileirados no escuro. Apenas uma luz branca clareando seus rostos, revelando olhos atentos ao que um ídolo qualquer lhes transmite em tempo real. Pessoas que não tem um livro sequer em casa ouvem com toda atenção tudo que outro sujeito tem a dizer no Twitter.

Morríamos de medo da lavagem cerebral dos Nazistas, e quem diria! As pessoas se sujeitam naturalmente a tudo isso, sem precisar de ditadura, violência e abusos de autoridade. As massas se auto-imbecilizam com tanta facilidade, á se os fascistas soubessem disso há 70 anos!

Todos perdidos, no mesmo barco
Ninguém sabe como lidar com a avalanche de dados que o Twitter iniciou.

O Google tenta demonstrar calma, mas está visivelmente perdido com o Twitter. Cito o Google porque são a maior empresa de processamento de dados no mundo atual, mas a verdade é que o mundo todo busca uma forma de digerir todo esse barulho. E até o momento não há nada de útil proveniente desse esforço. O Twitter continua sendo apenas barulho.

A idéia do Google e da CIA é prever o futuro usando o ruído social produzido na WWW. Outros buscam prever o mercado de ações e direções futuras do mercado no ritmo da inutilidade na mídia social. No entanto, pesquisadores das diversas gigantes de TI parecem chegar ao mesmo lugar: todo mundo falando ao mesmo tempo não é produção em massa de informação, é apenas ruído branco.

Posso estar redondamente enganado, mas, na minha opinião, o Twitter é um derrame de detritos virtuais muito pior que o da British Petroleum no Golfo do México. Espero que essa realidade mude em breve.

(Agora deixem-me ir, que preciso lançar este post no Twitter e dar uma olhada nos twits oficiais do Google em busca de novidades de programação.)

set 2011 19

Quem por ventura queira recriar a senha Twitter, e use o Gmail para receber tais mensagens, descubrirá que é impossível. A solução é usar a opção “Visualizar Mensagem Original” na caixa de opções avançadas acima e à direita na mensagem de email.