Otávio Weblog

Minhas memórias, antes que eu as esqueça

Arquivos na categoria Tecnologia

On the cloud

Se você está lendo este post, é porque realmente deu tudo certo. E após várias migrações, espero que esta seja a moradia do meu blog por um bom tempo (alguns anos talvez?). Agora minha nova casa é o Openshift, e me sinto bem em casa tendo a Redhat como anfitriã na cloud.

Ainda há muita coisa a organizar, por exemplo, colocar os posts antigos na base de dados. Embora eu pense seriamente em esquecer o passado e seguir a partir daqui. Não que o passado seja ruim, porém algumas vezes é necessário pensar apenas no presente, e no que está por vir. Aproveitando que esse é o final de 2011, nada como pensar apenas no que 2012 reserva para nós. Ainda mais que creio que 2012 seja um ano de grandes mudanças.

Já pensei seriamente em organizar o layout e fazer alguma coisa bonita, porém eu sou um engenheiro de software, e não um designer, assim eu jamais conseguiria fazer alguma coisa bonita. Estou até bem contente com esse visual "quase nada". Aliás o mundo mobile tem me feito cada vez mais pensar nesse tipo de desenho para sistemas.

O código fonte do site ainda está um pouco ruim, precisa de uma cobertura decente de testes, documentação e um bom refactoring. Porém já abri um projeto no Google Code (que segue no rodapé do site) para logo fazer um push dos códigos. Logo logo publico algo por lá.

E para finalizar, deixo meu profile no Github com os vários projetos opensource que eu publico, além dos projetos externos que participo: github.com/garcia-jj.

Social coding

Mesmo com o tempo muito curto, tenho participado ativamente de projetos open source, e é bem gratificante dedicar um tempo para trocar idéias com outros desenvolvedores, conhecer projetos, contribuir com códigos e, obviamente, abrir fronteiras.

Andei caçando algumas coisas no meu HD e achei várias coisas interessantes, e acabei disponibilizando alguns desses projetos no google code. Muitos desses meus projetos estão precisando uma melhor documentação, testes mais elaborados, e até mesmo revisão de código, mas logo vou publicando todos.

Eu já havia disponibilizado há algum tempo uma API para consulta aos webservices restfull do Technorati, o technoraty4j. Infelizmente desde o final do ano passado os webservices do technorati foram descontinuados, mas mesmo assim optei por deixar o projeto aberto para que possa servir de referencia para quem queria desenvolver alguma API semelhante.

Outros projetos que estão na minha lista de projetos que serão abertos é a ferramenta de publicação do meu site/blog, que é quase um wordpress feio em Java; além de uma ferramenta de atualização online de aplicações, sendo que essa última roda apenas no GAE/J.

Tenho também participado ativamente com contribuições ao framework Vraptor3, da Caelum, um controller MVC action-based que uso em quase todos meus projetos web. A galera do Vraptor é mais do que gente fina, e contribuir com idéias e códigos é muito divertido. Nas últimas semanas implementei validações via JSR303 (Bean Validation), Localized Converters, melhorias no file-upload dentre outras coisinhas miúdas.

E em meio a vários e vários tempos gastos nesses projetos aprendi muitas coisas, como por exemplo a usar GIT, fazer testes com Mockito, JAX-WS e mais uma infinidade de coisas que eu não conseguiria mesmo descrever aqui. Então se eu medir o tempo gasto em cada um dos projetos e o conhecimento que adquiri, eu ainda vou sair devendo, afinal, não há preço para o conhecimento adquirido.

Você pode acompanhar meu perfil no google-code pelo code.google.com/u/otavio.garcia e também no github pelo github.com/garcia-jj.

Don't let the Sun goes down

James Gosling, pai do Java, saiu da Sun/Oracle há algumas semanas. O que eu posso dizer disso tudo é que Gosling fará uma falta enorme no time que sempre fez a Sun ser uma das mais inovadoras empresas de tecnologia. Time esse que infelizmente vai se reduzindo aos poucos.

Tive já o prazer de apertar a mão do Pai do Java em um dos Sun Tech Days da vida, e Gosling é simplesmente fantástico, e possui uma mente muito jovem, extrovertida e com um ótimo humor.

Então nada mais justo do que eu deixar aqui meu agradecimento a James Gosling, que criou a linguagem que amo, e que é minha companheira desde o início da minha carreira profissional.

Obrigado, Gosling.

Programando nas nuvens

Claro que muitos ao lerem esse título vão pensar que estou programando dentro de um avião. Sim, já programei muita coisa nas nuvens literalmente, mas minha intenção agora é trabalhar figuramente nas nuvens: cloud computing.

Há algum tempo tenho me envolvido em arquitetura de aplicações enterprise. E como nunca poderia deixar de ser, meu site é a minha encubadora de idéias. E sim, estou muito satisfeito com ele, com cada linha de código que escrevi, e tudo mais. Mas um bom profissional nunca fica acomodado a ponto de achar que nada pode evoluir, então lá fui eu achar mais sarna para me coçar.

Faz algum tempo que venho acompanhando os trabalhos do Amazon EC2, GAE e outros mais, além do projeto Terracotta na qual eu utilizo em um dos meus projetos de gaveta, o KAS. Enfim, não sou muito de acompanhar vapores nem buzzwords, mas lendo a documentação do GAE e relatos do pessoal nos fóruns pela rede, não me contive em participar dessa onda toda. Finalmente decidi colocar meu blog nas nuvens.

A idéia inicial é migrar meu blog de vraptor 2.6 o 3, migrar toda a base de posts para lá e lançar o projeto final como opensource provavelmente no Github. Aliás faz algum tempo que quero muito publicar os fontes aqui da minha plataforma de blog, mas a falta de tempo sempre me impede. E finalmente hospedar o blog na infrastrutura do GAE.

Já fiz uns testes iniciais, e por enquanto estou bem satisfeito. A documentação é bem simples e direta, o interface de administração com bons recursos.

E conforme eu for fazendo mais testes publico aqui no blog.

Programação orientada à gambiarras

Tarefas simples, nem sempre são tão simples. Mesmo com uma ampla experiência em Java (sem nada de modéstia, óbvio), algumas vezes me deparo com umas situações quase complexas.

Essa semana estava terminando o desenvolvimento de um projeto de um cliente, e me deparei com umas situações pra lá de complexas. É aquela idéia básica de manter compatibilidade completa com os códigos porcos de outros programadores, já que essa plataforma deve permitir integração com sistemas legados via conectores, além de permitir integração com todos os bancos e operadoras de cartões. Quem já trabalhou com cartões e transações bancárias sabe bem que não existe nenhum padrão nisso. Mas aí entra o Java: uma interface aqui, mais umas três classes abstratas, um service locator... e quase tudo se resolve como um passe de mágica.

Porém a demanda de tempo (e paciência) é realmente a quantidade de regrinhas chatas, muito chatas. Quando o cliente escolhe um produto pro carrinho de compras, preciso já deixar bloqueado aqueles produtos para que outro malandrinho não compre, além disso preciso controlar o preço para fazer com que o cliente pague o preço do produto original, caso o dono da loja altere o preço enquanto o cliente está efetuando a compra (imagine tu achar um produto por R$ 100, e quando for pagar, ele está R$ 130?), controlar a autenticação do usuário, aguardar a validação da conta do mesmo (e-mail, CPF ou CNPJ), validar a consistência dos itens, valores, juros conforme o método de pagamento e número de parcelas, verificar se o sistema dos bancos está online, monitorar o estado do pedido quanto ao empacotamento, entrega, envio do pagamento pelo banco...

Mas como dizia um velho colega, é para isso que no quinto dia de mundo, Deus inventou o café :)

E vejamos como ficará. Como vocês, meus queridos 3 leitores, já sabem que eu sou pouco (ou quase nada) modesto, a coisinha tá ficando bem linda, com as gambiarras bem organizadas, códigos porcos assinados com um "TODO: melhorar essa por**" e tudo mais que os bons Desenhos de projetos malucos prevê.

Convite ao fisl 9.0

Esse ano fui convidado pelo Vitor Pamplona para participar do fisl 9.0, que esse ano acontece na PUC-RS em Porto Alegre. O fisl é o maior evento de Software livre, onde uma galera de peso se reúne para palestras, troca de idéias e tudo que envolve assunto nerd, além de papo sobre coisas de seres humanos do sexo masculino (vide mulheres e cerveja, hahahaha).

Ano passado participei do fisl 8.0 lá na FIERGS em Porto Alegre juntamente os os amigos Dilnei e Diego. Foi bom, e conheci uma galera que há tempos conheço apenas no virtual, além de participar de um extenso e prazeroso coofee-code com nosso amigo Phil, da Sun.

E aproveitando o gancho do Vítor, convido novamente o Diego, Dilnei, Bruno e Thiarlles para respirar três dias de tecnologia, papo nerde e muito café =).

Exibindo 1-6 de 6 resultados
1