As Muletas do Direito Autoral

•21/12/2007 • 1 Comentário

Recentemente, uma banda chamada Richter Scales publicou um videoclipe engraçado o YouTube, satirizando a “nova bolha” da Web 2.0. Nesse vídeo, foram usadas várias fotos de pessoas famosas no meio. Uma dessas fotos é de autoria de uma distinta senhora chamada Lane Hartwell, que ficou pê da vida por não ter recebido crédito, tanto artístico como monetário, e usou o infame DMCA para remover o vídeo do YouTube. A Richter Scales então fez uma outra versão do vídeo, desta vez sem a foto ofensora, e a Sra. Hartwell ficou pê da vida de novo, desta vez porque o vídeo não continha a sua foto.

Este artigo no Techdirt sumariza muito bem as minhas opiniões sobre o caso.

"Stairway to Heaven"… cantada pelos Beatles.

•19/12/2007 • Deixe um comentário

Na verdade, cantada pelos Beatnix, uma banda autraliana que se especializa em fazer cover dos Beatles. Aqui, eles tocam Stairway to Heaven como seria se houvesse sido composta pelos Beatles em início de carreira.

The Dark Knight

•18/12/2007 • Deixe um comentário

Eu não achei que fosse possível superar o Coringa do Jack Nicholson, mas parece que eles estão se esforçando muito para isso:

Windows Vista Declarado o Produto Mais Decepcionante do Ano.

•18/12/2007 • Deixe um comentário

A PC Magazine declarou achar o Windows Vista o produto mais decepcionante do ano na área da informática (via Slashdot). E, pelo que andam dizendo por aí, muita gente concorda. E se você olhar a lista completa, vai ver que o Zune e o Office 2007 também entraram, um pouco atrás.

"Codifier"

•17/12/2007 • Deixe um comentário

No post sobre Dificuldades Técnicas, havia mencionado que criei um script para formatar trechos de código para postar aqui. Ei-lo:

#! /usr/bin/env rubyif ARGV.size == 0  puts "Usage: #{__FILE__} (files to format)"endFile.open("out.txt", "w") do |out|

  ARGV.each do |filename|    out.puts "<pre>"    out.puts File.read(filename).gsub("<","<")    out.puts "</pre>"  end

end

Chamadas Periódicas Sem Atropelo

•17/12/2007 • Deixe um comentário

Recentemente, precisei criar uma página que fazia chamadas periódicas ao servidor, para saber se um determinado processamento longo havia acabado, e carregar os resultados no caso positivo. No Rails, a melhor maneira de se fazer isso é com a função periodically_call_remote, que dispara uma chamada AJAX em intervalos regulares. Mas, aí, como é de praxe, encontrei um pequeno problema quando o código foi para o ambiente de integração. As chamadas são assíncronas (o primeiro A do AJAX), acontecendo a cada X segundos, mas a chamada que finalmente carregava os resultados demora mais de X segundos para ser completa. Então, no meio do carregamento, uma outra chamada era iniciada e terminava justo a tempo de substituir a maravilhosa tela de resultados pela tela de “por favor espere”.

Tornar as chamadas síncronas resolvia este problema, mas fazia o browser congelar completamente nos n*X segundos que a resposta demorava para carregar. Então, a saída que eu acabei utilizando foi criar uma variável de “estado”, manipulada pelos callbacks do Prototype, para garantir que apenas uma chamada assíncrona executasse por vez.

Este é o resultado:

<script>var stop_polling = false;var polling = false;</script><%= periodically_call_remote(              :url => ping_search_search_results_url(@search),              :method => :get,              :frequency => 3,              :condition => "stop_polling == false && polling == false",              :after => "polling = true",              :complete => "polling = false"             ) %>

A primeira variável (“stop_polling”) tem seu valor mudado pelo servidor quando os resultados ficam prontos. A segunda é alterara pelo próprio script para impedir que uma nova chamada seja executada enquanto a anterior ainda está esperando sua resposta. Com isso, o browser do usuário não congela.

Dificuldades técnicas.

•17/12/2007 • Deixe um comentário

Um dos motivos pelos quais eu não tenho escrito nada nesses últimos dias é porque eu quero postar exemplos de código, e o Blogger não é lá muito bom nisso. Achei alguns “add-ons” que fazem um bom trabalho, mas para instalá-los eu precisaria ter o controle do servidor onde os posts são hospedados. E se é para fazer isso, eu vou é criar a minha própria plataforma de “blog”, eventualmente. Dizem que o Rails faz isso em quinze minutos, então vai ser uma boa oportunidade de aprendizado.

Por enquanto, vou usar um programinha que escrevi em dois minutos para embrulhar a amostra desejada em um par de tags “pre”, e substituir todos os “<” lá dentro pela entidade HTML correspondente.