Meu novo projeto: technorati4j
por
Há algum tempo estou estudando para a certificação de arquiteto Java (a SCEA). E um dos itens a estudar são webservices.
Já que é sempre bom começar pelo mais fácil, optei por seguir pelos restful webservices, e depois aprofundar nos serviços SOA e afins. Então nada mais simples que implementar uma das poucas coisas que não tem no Java: um projeto para acesso as APIs do Technorati. A ideia começou a ganhar coragem quando precisei de acesso a essas APIs para meu site, e não havia ainda implementação em Java.
Para quem não conhece o Technorati pode consultar um simples artigo na Wikipedia aqui ou visitar o site aqui. Basicamente é um buscador/centralizador de blogs, muito usado na tal blogosfera. Os serviços em nuvem do Technorati permite fazer buscas por tags, carregar informações sobre os blogs ou autores, navegar nas tags mais usadas no dia, e por aí vai. A documentação é bem ampla e pode ser vista aqui.
O projeto está em fase embrionária, porém já implementa todas as funcionalidades disponíveis nas nuvens do Technorati Webservices. Os códigos são bem simples e diretos, estão totalmente documentados via Javadc, e ainda incluem planos de teste via JUnit. Quem quiser baixar os fontes do projeto pode acessar o SVN do projeto no Google Code ou acessar o site do projeto e divertir-se. Para quem usa o Eclipse, o projeto já vem montado automaticamente.
Pelo fato da própria estrutura do retorno das APIs do Technorat
A licença do projeto é Apache License 2.0; ou seja, você pode baixar, alterar, redistribuir... tudo a vontade sem precisar de minha permissão :).
E somos nós que pagamos a conta!
por
Não preciso nem explicar muito, basta ver o vídeo. Em pensar que a a mula-presidente só sabe contar até nove...
Anos atrás: Uma volta com o V710 (2005).
Novo filhote: TAM McDonnell Douglas MD-11
por
Mais um pouso no Aeroporto Internacional Comandante Garcia :).

Mais fotos e informações dessa linda máquina aqui.
Sábias frases de Homer Simpsons
por
Resolvi juntar aqui um misto das mais belas frases já faladas pelo meu ídolo Homer Simpsons, ao longo desses quase 9 anos que o assisto pela FOX.
"Chorar não vai trazer de volta seu cão, a não ser que suas lágrimas tenham cheiro de ração."
"Crianças, vocês tentaram e falharam miseravelmente. A lição que vocês podem tirar disso é: não tentem jamais."
"Lisa, se você não gosta do seu emprego, você não faz uma greve! Você vai lá todo dia e faz seu trabalho malfeito!"
"Marge, lembre-se: se algo der errado na usina, culpe o cara que não sabe falar inglês!"
"Por favor, não me coma! Eu tenho mulher e filhos. Coma eles!"
"Eu tenho três filhos e nenhum dinheiro, por que não posso ter nenhum filho e três dinheiros?"
"A tentativa é o primeiro passo para o fracasso."
"Existem três frases curtas que levarão sua vida adiante: 'Não diga que fui eu', 'Oh, boa idéia chefe!' e 'Já estava assim quando cheguei.'"
"Ora, Marge, se Deus não quisesse que a gente comesse na igreja, não teria colocado a gula como pecado..."
"A culpa é minha, eu coloco ela em quem eu quiser."
"Não costumo ser um homem religioso, mas se tu estás lá em cima, me salva, SUPER-HOMEM!"
"Você pode ter todo o dinheiro do mundo, mas há algo que jamais poderá comprar: um dinossauro!"
"Eu não sou um cara mal, eu trabalho duro e amo meus filhos... Então por que eu deveria perder metade do meu domingo ouvindo como eu vou pro inferno?!"
"Se a Bíblia nos ensinou alguma coisa - e não ensinou nada - é que mulheres devem praticar esportes femininos, como luta na lama e boxe feminino."
"Barth, se você conseguir olhar uma mulher e não chamá-la de gorda, é porque você é um homem de negócios."
Diário de uma migração
por
Como vocês devem ter notado, mudei totalmente o engine do meu site. Ele é escrito por mim em Java EE, e já havia algum tempo que eu estava com um esboço das mudanças, porém estava sem tempo por causa dos estudos para a SCEA. Mas um dia desses resolvi meter a mão na massa, e compartilho com vocês aqui uma série de posts na qual explico como tudo foi feito.
A primeira das mudanças que eu precisava era esquecer o legado. Meu site existe desde 2000, e desde lá venho fazendo apenas updates. Então era necessário esquecer tudo que eu tinha antes, fazer algo do zero. Eu estava cansado daqueles URLs malucos do site, que para você ver um post era necessário escrever www.otavio.com.br/weblogPostShow.do?id=500. Além disso eu não queria mais expor os IDs dos posts, e facilitar a digitação. Realmente é um saco ficar fazendo upper e lower case para digitar um endereço.
Uma questão importante era performance. Sempre achei que meu site não era muito visitado, mas olhando aos logs do servidor percebi uma média de mil visitas por dia. Então eu precisava do site rápido, e o antigo me parecia as vezes estar um pouco lento. Como o servidor de aplicações não fica na mesma máquina do banco de dados, eu precisava até mesmo pensar no overread de dados na rede, otimizar as consultas, e por aí vai. Notei que precisava largar o MySQL em prol de um banco mais robusto, que permitisse certas funcionalidades para evitar o extenso tráfego de rede.
De uns tempos para cá o número de spams nos comentários cresceu drasticamente, então eu notei que precisava não apenas filtrar os comentários, mas também bloquear algumas redes de spammers. Filtrar o conteúdo que o usuário digita nos campos de comentário é muito importante, não apenas quanto a palavras de baixo calão, mas também quanto a ataques de código malicioso. E spammers acabam consumindo banda e deixando o site lento.
Optei por manter a estrutura interna do site ainda com a dupla Hibernate e Spring, porém havia duas coisas que eu era enfático em trocar: o controller que estava a cargo do Struts Action, e o banco de dados que era MySQL. O Struts é um bom frameworks, mas estava muito velho, e eu sentia a necessidade de trocar para algo mais inteligente e que permitisse fazer as coisas em poucas linhas de código. Fiz testes com vários MVC dentre eles Spring Web MVC, JBoss Seam e Vraptor; sendo que então optei por usar esse último. E com o banco de dados não havia muito o que duvidar: minha escolha era PostgreSQL (valeu Elizeu).
Além disso havia a necessidade de reescrever o core da aplicação, que basicamente é um .jar que contém uma série de extensões para os diversos frameworks que uso que permite que eu trabalhe com os códigos de forma mais simples.
Em breve escrevo os outros artigos dessa saga toda e atualizo esse aqui com o link dos demais.
Anos atrás: Por que eu amo o Orkut? (2008), Pq tudo tem uma pequena explicação?! (2006).
Feliz 82 anos, Varig.
por

Se estivesse viva, completaria hoje 82 anos a nossa Varig, a estrela das Américas. Sem entrar em detalhes do seu fim, fica aqui minha lembrança pela data dessa empresa que nasceu em solo portoalegrense.
Lembro-me até hoje da minha primeira viagem de Varig que foi no trecho GRU/FLN no RG2267. No embarque olhei atentamente cada curva do 737-300, a cauda e turbinas azuis, a rosa dos ventos dourada... cada detalhe me chamou atenção. Embora o voo foi bem turbulento foi uma emoção finalmente voar de Varig. Desde criança me acostumei ao meu pai comentado da Varig, e inclusive ele guarda até hoje um jogo de talheres de prata com a estrela :).
A Varig já operou mais de 30 modelos de aeronaves com as mais diversas pinturas, mas as que mais me destacara foram: Boeing 777 75 anos, Boeing 737-800 PT-VSA, MD-11 da seleção de futebol 1994, MD-11 que trouxe o corpo do Senna (cores anos 90), os inesquecíveis Douglas DC-10, e por último o melhor: os Boeing 727.
E quem não lembra das propagandas? O jingle clássico de natal Varig Varig Varig e até a versão mais moderna na voz de Jorge Ben. Ou então aquela dos 560km? O super jumbo Varig na sexy voz de Iris Letieri.. e um vôo nas asas da Varig
Eu era uma criança quanto a Varig completou 60 anos, mas pude presenciar os 78 anos. Vivi a mudança da pintura nos anos em 97, admirei a livery dos 500 anos do Brasil e finalmente chorei com seu triste fim.
Foram tantos voos, tantos lugares voados, tantos lanches, e muitas milhas que guardo até hoje no meu Smiles diamante, que aliás pretendo torrar mês que vem.
