domingo, 8 de agosto de 2010
Wattlas - Nova Versão
domingo, 28 de março de 2010
Wattlas
Em meados de 2007, com o lançamento de uma ferramenta para criação de mashups pelo Google, iniciei um projeto para expor os conteúdos de algumas trilhas de Floripa na Web. Juntando uma tecnologia legal e o desejo de expor mais informações sobre o tema, nasceu o Trilhas e Caminhos. A ferramenta, em termos de ambiente de desenvolvimento, mostrou-se prática e rápida para criação de funcionalidades na web que em outros casos requerem um alto esforço de programação. Era bastante trivial combinar informações de blogs, feeds RSS, conteúdo georeferenciado, fotos e outros em uma aplicação web. No entanto, as limitações de um ambiente de desenvolvimento dentro de um browser naquele tempo e do próprio modelo de programação, contribuíram para o projeto ser abandonado em 2009. Neste período, iniciou a transição para um novo ambiente de desenvolvimento, mais poderoso e flexível.
O App Engine, inicialmente disponível apenas na linguagem Python, foi o ambiente escolhido para a nova versão do Trilhas e Caminhos. Das primeiras versões até o estágio atual, foram adicionados recursos como o suporte a linguagem Java, serviços de email, imagem, cache e mais recentemente, uma integração com o framework GWT.
O Wattlas, como foi batizada a nova versão, é construído em cima desta infra-estrutura e visa fornecer conteúdos sobre atividades outdoor. O objetivo é fornecer conteúdos livres e criados de forma colaborativa, num modelo inspirado na Wikipedia, sendo o foco inicial as trilhas de Floripa e região.
Esta primeira versão oferece a visualização do local no mapa, álbum de fotos, perfil de altura, controle dos detalhes baseado no zoom do mapa, desenho da trilha e interface em duas línguas. O conteúdo inicial traz trilhas bem populares de Floripa, como a Lagoinha do Leste, Naufragados e Costa da Lagoa, mais alguns locais menos explorados como a Cachoeira do Retiro em Sto. Amaro.
Para o próximo release, está sendo preparado o suporte à edição colaborativa dos conteúdos, construído em cima do padrão KML, o formato popularizado pelo Google Earth para dados geográficos e maior detalhamento dos conteúdos atuais.
Então, pronto para colocar o pé na estrada? Confira o Wattlas e fique à vontade para deixar seus comentários no site.
domingo, 17 de maio de 2009
Scrum Gathering Brasil
Grosso modo, Scrum é um framework para melhorar a gestão e a taxa de sucesso em projetos. É aplicado na criação de produtos complexos, principalmente no ambiente de software, onde existe uma alta taxa de mudanças ao longo do desenvolvimento.
O Gathering Brasil teve várias palestras ocorrendo simultaneamente e das que eu assisti posso destacar:
- O grupo de usuários de Scrum de Recife falou sobre Definition of Done (DoD), um conceito que muitas vezes na aplicação do Scrum não se tem clareza e é mal aplicado. Eles propõem a realização de um workshop com o time do projeto, onde o time define desde o início como caracterizar que um item do backlog esteja “pronto”. Não vou entrar em detalhes neste post, mas que quiser saber mais pode ir direto nas fontes (artigo do Mitch Lacey, artigo do Dhaval Panchal).
- Ken Schwaber, um dos criadores do Scrum fez uma palestra de introdução ao tema e falou avanço do Scrum e metodologias ágeis nos últimos anos. Alguns dados impressionam, o que mais me chamou atenção é que numa pesquisa realizada sobre a adoção de metodologias de software nos EUA mostra que desde meados de 2008, a aplicação de métodos ágeis superou os métodos baseados em Waterfall.
- Boris Glogger, com quem fiz o treinamento de CSM, trouxe “6 segredos para um retrospectiva de sucesso”. Não vou me estender muito aqui, pois ele fez a publicação dos slides no seu próprio Blog, mas recomendo fortemente para aqueles que estão lutando para aplicar uma boa retrospectiva de Sprint (é... aquele que você aprendeu e aos poucos parou de fazer direito nos seus projetos).
- José Papo apresentou diferentes modelos de contratos ágeis, tema que eu pessoalmente estou batalhando para evoluir na minha empresa. A idéia básica é você evoluir dos modelos de escopo e valor fixos para um modelo de escopo variável, que permita a sua adequação à medida que o projeto evolui e mudanças ocorrem no desenvolvimento.
quarta-feira, 22 de abril de 2009
App Engine em Java
Ao primeiro olhar, o App Engine é uma solução que fornece uma série de recursos que simplificam o processo de publicação de um aplicativo na web e libera o programador de tarefas de configuração e infra-estrutura: não há necessidade de configurar um servidor web, nem um banco de dados, nem DNS, nem cachê, entre outros.
Muito além de simplificar estas tarefas de publicação, o App Engine é um ambiente de execução altamente escalável para aplicações web. Um exemplo disto é o seu Datastore, um repositório de dados escalável e sem esquema, baseado na tecnologia do Big Table do Google. Em resumo, você pode guardar grande quantidade de dados sem se preocupar com o particionamento, múltiplos bancos e a redundância do armazenamento. Outro exemplo é a sua capacidade de automaticamente lançar novas máquinas virtuais à medida que o número de acessos a aplicação aumenta, o que pode ser útil em situações de um pico nos acessos da aplicação.
Fora estes e mais outros recursos bem atrativos fica a questão se você realmente quer sacrificar a portabilidade da sua aplicação para poder tirar proveito de todas estas facilidades que o App Engine oferece. Seria muito legal se você pudesse migrar a aplicação para a sua própria infra num momento desejado.
No mais, a plataforma vem evoluindo muito rápido e com a promessa de recursos bem interessantes de processamento offline também. Experimente!
(ATUALIZADO: assisti a uma demonstração onde uma aplicação criada no App Engine roda na infra de um servidor Web Sphere fora da infra do Google, apenas alterando arquivos de configuração e sem mudanças no código. Isto é possível porque a camada de acesso a dados usa o JDO/JPA, padrão Java)
terça-feira, 17 de março de 2009
Teorizando sobre dados
Acredito que o potencial para pesquisa com base nestes dados é enorme, não só em dados brutos mas no que temos hoje na Web. Um dos exemplos que considero excepcional é o aprendizado de idiomas com base em textos da Web em diferentes línguas. Na palestra do Peter Norvig, ex-NASA e atual pesquisador do Google, ele mostra como são usadas técnicas computacionais para melhorar as traduções automáticas. O sistema é treinado com o volume de dados superior a qualquer sistema tradicional e os resultados mostram a diferença: o uso da Web com base aumenta significativamente a qualidade das traduções.
"It’s a capital mistake to theorize before one has data.", já dizia Sherlock Holmes em suas investigações, 1891.
segunda-feira, 9 de março de 2009
Trilhas e Caminhos
Acessível neste link.
sexta-feira, 9 de maio de 2008
O Feiticeiro de Menlo Park
Tantas foram as invenções de Thomas Edison que torna difícil saber por onde começar. Nascido na costa leste dos EUA, descendente de holandeses e britânicos, Edison foi capaz de conceber invenções nos mais variados ramos da ciência e da indústria.Embora não fosse pobre, a família de Edison também não gozava de riqueza. Desde garoto começou ganhar seus trocados vendendo jornais, trabalhando inclusive com a venda em percursos de trem, parando de estação em estação. Aquilo que ganhava com a venda destas notícias era o capital necessário para investir em seus experimentos - estas notícias eram especialmente desejadas pois tratava-se do período que antecipava a gerra civil americana.
Chegou mesmo a montar um pequeno laboratório dentro do proprio trem, fazendo ali experimentos em química. Num incidente em que o trem descarrilhou causando confusão e quebra dos vagões, o pequeno laboratório chegou a pegar fogo e incendiando o vagão. Sem o mesmo interesse pela química que o jovem Edison, o maquinista expulsou e correu com o pequeno cientista do trem.
Seguindo o seu caminho, Edison tornou-se operador de telégrafo. Dominava como poucos da sua idade o código morse, destacando-se rapidamente no meio. Durante os longos anos em que trabalhou com telégrafos nunca deixou de inventar e experimentar. Suas contribuições nesta arte foram das mais variadas e reconhecidas em seu tempo, criando dispositivos mais rápidos, capazes de trafegar mais mensagens na mesma rede, reduzindo ruídos de comunicação, etc.
Despontava ali um ancestral da atual Internet, um sistema elétrico de transmissão de dados a longa distância. Junto ao telégrafo, surgiam aos poucos os primeiros sistema de telefone nos EUA. Aqui Edison também inscreveu seu nome com a invenção de um telefone usando um transmissor de carbono. Esta invenção melhorava o telefone inventado por Bell e era capaz de transmitir a longas distâncias, enquanto a invenção de podia transmitir apenas em distâncias de 3-5km.
“Nunca fiz nada de valor por acidente; da mesma forma, nenhuma de minhas invenções aconteceu por acidente; elas ocorreram depois de muito trabalho”
(Thomas Edison).
As invenções e empreitadas ainda vão longe, passando pela lâmpada incandescente, o cinema e tantas outras. Conheça mais sobre Thomas Edison na Wikipedia.