Os servidores de DNS da Cabovisão não são grande coisa. Na volta deixo de conseguir aceder a algumas páginas sem perder a ligação a programas de IM e conseguindo carregar aquelas que tinha visitado há pouco tempo. Sintomas típicos de que o DNS do ISP não está a funcionar como devia. Depois de me acontecer isto umas duas ou três vezes acabei por mudar para o OpenDNS.
Este serviço permite usar servidores de DNS geridos por outra entidade e que não têm, nem de perto nem de longe, os mesmos problemas que tinham os da Cabovisão. É algo simples de configurar e além de ser fiável também corrige typos e permite o uso de filtros para evitar visitas a sites de phising, pornográficos (opcional) entre outros. Existem ainda mais algumas opções que podem ser configuradas após um registo rápido.
Num router a configuração é muito simples e afecta todas as máquinas ligadas, não sendo necessário mudar nada nos pontos de acesso finais: computadores, consolas, etc. Para quem usa o DD-WRT fica aqui o tutorial já que tem um pequeno truque extra que não está explicado no site oficial do OpenDNS.
O Firefox 3.1 vai trazer algumas novidades e uma das que mais interessam a quem trabalha com Javascript são as Worker Threads.
De um modo simples, o que estas permitem fazer é lançar threads dentro do Javascript que correm paralelamente ao fio de execução principal (resumindo: fazem o que é suposto as threads fazerem). Para já não existem objectos partilhados em memória e a passagem de dados é feita com recurso a eventos (mensagens). O código necessário para fazer isto funcionar é relativamente simples e de compressão directa, esperemos agora que outros browsers sigam o mesmo exemplo.
Pelo que já experimentei no FF3 b2 pareceu estar a funcionar bem e tirou realmente partido dos dois núcelos que a máquina de teste tinha. Ainda de referir que coisas como XHR também podem correr nas threads criadas.
Algo importante quando se faz tracking de determinado objecto, neste caso Flash, é saber de onde veio a visita. Quando o ficheiro swf é embebido numa página HTML e é carregado por esta o Google Analytics for Flash funciona como esperado e assume que a referência é o site que embebe o Flash onde estar a correr. Mas um problema surje quando o swf é carregado directamente no browser, isto é, quando se visita algo do tipo: http://mysite.com/my-flash-file.swf
Existem modos de dar volta a isto, mas para já partilho aquele que estou a usar e que para quem não queira complicar muito o processo é um bom ponto de partida. O GA deixa definir um campo especial nas suas estatísticas: User Defined. Esse campo pode ser utilizado para enviar qualquer tipo de informação para os servidores do GA. O que estou a fazer é utilizar esse campo para enviar a referência que obtenho quando o GAfF não consegue. Vejamos então um exemplo de código.
var tracker:AnalyticsTracker = new GATracker(this, "UA-XXXXXX-XX", "AS3", false);
tracker.setVar(new LocalConnection().domain); // User Defined Field
tracker.trackPageview("/my-flas-file.swf");
Como se pode ver é simples, apenas utilizo o domínio do servidor onde está alojado o ficheiro Flash. Isto é útil para aqueles casos em que perdemos o controlo sobre os locais por onde um ficheiro nosso anda. Esta longe de ser o método ideal, e há alguns melhores, mas esses serão discutidos mais tarde pois nem sempre funcionam em todos os browsers, visto requerem que o Flash utilize a sua interface externa com a aplicação que o executa.
Fazer loops em Flash é algo bastante simples do ponto de vista técnico. Mais complicado é arranjar um bom vídeo (ou gif) e ainda melhor som. Mas como o processo pode ser algo confuso para quem não sabe deixo aqui o tutorial que uso para me guiar quando crio um loop.
Editar o vídeo e exportar como .gif (saltar este passo se já se tiver um .gif)
Adobe Flash
Importar Vídeo
Seleccionar o .gif
“Embed in SWF”
Definir tipo: “Movie Clip”
Qualidade: “Flash 8 Medium”
Ajustar ao Stage (Posição e Tamanho)
3. Edição de Som
Audacity
Editar som e exportar com .wav
Adobe Flash
Importar para “Library”
Adicionar ao Stage
Marcar como “infinit loop”
Exportar como “MP3 64kb Medium”
4. Exportar
File > Publish
Ter especial atenção às opções de qualidade do som e vídeo, facilmente se transforma algo que poderia ter 1 MB em 2 ou 3, sem qualquer necessidade. Este tutorial também evita que um simples loop acabe com 10 MB simplesmente por falta de jeito ao criá-lo. Este tipo de situação é relativamente comum quando se tenta repetir o vídeo ao longo do som sem usar funções de loop.
Depois de criado podem adicionar funções de tracking usando as componentes de que falei no post sobre Google Analytics for Flash.
O serviço Google Analytics é uma excelente ferramenta para analisar (entre muitas outras coisas) o fluxo de visitas a um site. Mas integrar o código Javascript necessário para fazer tracking das visitas com Flash nem sempre é simples.
Surgiu há não muito tempo o GAforFlash, uma pequena lib que quando adicionada aos nossos swf que permite tratar de todo o processo de tracking do ficheiro. Apenas é necessário juntar ao fla a componente e escrever umas quantas linhas de Action Script.
Isto é-me particularmente útil para fazer tracking a ficheiros swf que se espalham pela net sem estarem associados a um domínio em particular. Por exemplo, é habitual criar loops e fazer upload dos mesmos na board de flash do 4chan. Partindo daí acabam por ir parar a variados sites, com a função de tracking embebida é facil verificar quais e analisar o (in)sucesso do trabalho.
Há já algum tempo que queria ler algo de Philip K. Dick e decidi começar por um dos clássicos, O Homem do Castelo Alto. Depois de estar a um passo de encomendar a versão inglesa lá chegou o que tinha pedido em português. Uma edição de 1993 em formato de bolso da Livros do Brasil (dois volumes).
As versões mais recentes do uTorrent têm uma excelente interface web, mas mesmo assim ainda é demasiado pesada para simples monitorização. Para resolver o problema encontrei o tSpeed que apenas mostra as velocidades de download de upload numa pequena janela.