Para poder fazer qualquer coisa nesta vida é preciso motivação! Ela pode vir de diversas formas, mas especificamente neste post, eu vou comentar o que, sinceramente, o que me motiva a ministrar um curso sobre Google App Engine (GAE) em Goiânia, a um preço quase irrisório!
Conforme eu havia divulgado anteriormente, irei apresentar um treinamento presencial que ocorrerá em Goiânia a partir do dia 13 de novembro. Eu havia escrito que a decisão sobre o que seria o treinamento dependeria de uma enquete que eu faria com o público da área de desenvolvimento desta cidade. Entretanto, minha cabeça e meus planos mudaram com relação a diversas coisas no Lado Servidor, incluindo este treinamento.
Posted by paulojeronimo
in sábado, 14 de agosto de 2010
Lendo alguns posts no Google Reader, assisti um vídeo bem legal neste post do Diogo Medeiros, demonstrando o reconhecimento de voz para a execução de ações em um celular utilizando a tecnologia Android:
Após ter visto este vídeo, senti-me motivado a escrever. Em minha última ida para São Paulo, tive a oportunidade de participar de um evento muito bom da Motorola (o MOTODEV Summit) que foi espetacular em todos os sentidos. Este evento ocorreu na mesma semana em que corri a Maratona de São Paulo e que também participei do JBossInBossa. Neste blog, eu escrevi que um dia falaria um pouco sobre o MOTODEV e agora eu trago algumas impressões pessoais sobre este evento além da minha motivação para ter participado.
Apesar de no Lado Servidor eu estar bem mais focado em serviços não tão diretamente relacionados a dispositivos móveis, sempre gostei das tecnologias utilizadas por estes aparelhos.
Meu primeiro dispositivo nesta área foi um um Palm IIIx que ainda guardo de recordação até hoje em algum lugar... Você se lembra deste aparelho que funcionava com pilhas não recarregáveis, ou ele não é de teu tempo? ;-)
Fico impressionado ao ver o quanto a tecnologia para estes aparelhinhos evolui rápido. Imagino que isto ocorra bem mais rapidamente do que nas áreas que estou focado neste momento. Apesar de já não estar mais envolvido com o desenvolvimento de aplicações para dispositivos móveis, eu sempre fui um fã incondicional desta área. Sei o quanto os meus velhos dispositivos de uso cotidiano (um celular Nokia N95 e um Palm Tungsten T5) estão ultrapassados. Mesmo assim, apesar de apresentarem alguns problemas devido ao tempo de uso, estes dispositivos ainda me atendem bem em seus propósitos.
O problema é que hoje eu estou precisando de algo bem mais integrado e conectado aos serviços que utilizo. Principalmente aos do Google! Eu não vou negar: mesmo sendo ferrenho defensor do software livre eu me considero, neste momento, completamente dependente dos serviços gratuitos (e proprietários) oferecidos pelo Google:
Este blog que roda no Blogger, que é do Google;
A aplicação que desenvolvi para rodar no Google App Engine (GAE) como proxy para o conteúdo estático deste site, que está no Dropbox e que batizei como DropbProx;
Meus emails, no Google Mail;
Minhas listas de discussão, no Google Groups;
Minha agenda pessoal, o Google Calendar;
Meu leitor de notícias, o Google Reader;
E muitos outros...
De todas as tecnologias atuais que já pesquisei na área de dispositivos móveis, a que mais se adequa as minhas necessidades de integração aos serviços do Google é o Android. Em função primariamente desta precisão e, secundariamente da vontade que tenho de voltar a programar para aparelhos baseados na tecnologia Android, eu decidi que meu próximo aparelho celular deverá conter esta tecnologia.
Ao perceber que na mesma semana em que eu iria encarar o desafio de correr a Maratona de São Paulo eu também teria a oportunidade de participar do MOTODEV Summit sem ter que desembolsar um centavo, não tive dúvidas, estendi minha volta para somente após este evento. Aproveitei e fiz minha inscrição também para o JBossInBossa, evento que foi muito mais focado nas tecnologias que tenho trabalhado atualmente.
Quase tudo no MOTODEV Summit foi excelente! As palestras, o almoço, as pessoas que conheci. Caso este evento ocorra novamente no ano que vem, se eu tiver a oportunidade de participar, lá estarei. Para encerrar este post, segue o álbum das fotos que tirei durante o evento:
Posted by paulojeronimo
in segunda-feira, 10 de maio de 2010
O DropbProx é uma aplicação que tem o objetivo de permitir que você utilize um domínio próprio para obter arquivos publicados numa conta Dropbox. Após configurar o DropbProx informando um número de conta Dropbox e publicá-lo no Google App Engine (GAE), ele te dará a capacidade de acessar arquivos a partir de um domínio mais significativo do que o apresentado pela URL http://dl.dropbox.com/u/NR_CONTA. Particularmente, eu uso o DropbProx para possibilitar que os arquivos públicos de minha conta pessoal estejam visíveis a partir do subdomínio a.paulojeronimo.com. Desta forma, o arquivo http://dl.dropbox.com/u/345266/curriculo/curriculo-pj.html também pode ser acessado através de http://a.paulojeronimo.com/curriculo/curriculo-pj.html. Eu também utilizo o DropbProx nos arquivos estáticos do site Lado Servidor: utilizando o Dropbox eu tenho a página http://dl.dropbox.com/u/5689841/servicos.html publicada e, pelo uso do DropbProx, permito a visualização desta mesma página através da URL http://a.ladoservidor.com/servicos/index.html.
O código do DropbProx é uma simples redução/adaptação do código do projeto mirrorrr, desenvolvido por Brett Slatkin. Ele foi adaptado especificamente com o objetivo de se construir um proxy para os arquivos públicos da conta de algum usuário do Dropbox. Se você deseja utilizar proxy completo (e open source) para ser executado no GAE, utilize o mirrorrr!
Motivação
Eu gosto muito do Dropbox mas, ele não me oferece a oportunidade de acessar os arquivos que eu tenho publicados através de meu próprio domínio. Desta forma, ele descaracteriza o fato dos arquivos serem meus! Como alguém iria saber que http://dl.dropbox.com/u/MEU_NUMERO/meu_arquivo é realmente um arquivo meu? Não seria muito melhor que meu_arquivo fosse acessado através de uma URL como http://arquivos.meu_dominio.com/meu_arquivo?
Existem soluções para este problema. Dentre elas, utilizar o Apache 2 como um proxy reverso ou configurar o mod_rewrite. Mas, em qualquer uma destas soluções, eu precisaria de um servidor aonde eu tivesse a administração do Apache em minhas mãos. Eu até tinha isto, enquanto pagava para ter um VPS no Linode. Mas, neste momento, não estou necessitando de todo o poder que um VPS pode me oferecer. Então, eu me desfiz do mesmo e fui buscar uma solução mais econômica (diga-se: gratuita). Sendo assim, eu não poderia mais adotar as alternativas envolvendo o uso do Apache. Com algumas pesquisas no Google, eu encontrei um proxy (open source) escrito em Python e que eu poderia rodar no GAE, sem custos. Então, eu o adaptei para as minhas necessidades.
Instalação, passo a passo
Um resumo dos passos para a instalação do DropbProx pode ser encontrado em seu site. Entretanto, nos próximos posts eu irei apresentar um passo a passo completo, na forma de vídeos, explicando como instalar o DropbProx em um subdomínio de tua propriedade. Acompanhe, sugira melhorias e/ou participe do projeto!